Python-Daemon erstellen - Das 'module'-Objekt hat kein Attribut' DaemonContext '

7

Ich versuche, meine App zu dämonisieren und erhalte den Fehler:

%Vor%

Es sieht so aus, als ob andere Leute diesen Fehler bekommen, wenn das Modul nicht installiert wird. Als Neuling in Python ist es ein wenig verwirrend, dass es ein Daemon- und Python-Daemon-Paket gibt, und außerdem gibt es zwei Möglichkeiten, Python-Pakete zu installieren (sudo apt-get install und sudo pip install). Wie es scheint, habe ich das Paket installiert. Ich habe Python 2.6 auf Ubuntu 10.04 installiert. Irgendwelche Ideen?

Es sieht so aus, als hätte ich das Modul installiert:

%Vor%

Weitere Hinweise, dass das Modul installiert ist:

%Vor%     
Ben McCann 20.03.2012, 23:52
quelle

2 Antworten

14

Das Programm, das den Fehler erzeugt, verwendet offenbar ein anderes Modul namens daemon . Hast du vielleicht das Programm selbst oder ein anderes Modul im selben Verzeichnis aufgerufen, daemon.py ? Wenn dies der Fall ist, wird das installierte daemon -Modul beschattet. Benennen Sie daemon.py um (und löschen Sie die daemon.pyc -Datei, die Python erstellt hat) und versuchen Sie es erneut.

Wenn Sie nichts sehen, das daemon.py schattiert, erstellen Sie für Ihre Anwendung daemon.__file__ und sehen Sie, woher es importiert wird.

    
Thomas Wouters 21.03.2012, 00:16
quelle
15

Ich laufe auch auf diesem Problem. Wenn ich print daemon.__file__ aufruft, druckt /usr/local/lib/python2.6/dist-packages/daemon.pyc , das ist die richtige Datei an falscher Stelle, was bedeutet, dass ich packege falsch installiert habe.

Ich habe den Befehl "sudo pip install daemon" benutzt, der nur die Datei daemon.py installiert. Wir sollten commnd verwenden "sudo pip install python-daemon", der das ganze Paket installiert. Danach print daemon.__file__ druckt /usr/local/lib/python2.6/dist-packages/daemon/__init__.pyc , was bedeutet, dass ich Python-Daemon-Paket installiert habe, nicht nur eine Python-Datei daemon.py.

Verwirrend, aber es war meine eigene Schuld.

Denken Sie daran, "sudo pip uninstall daemon" aufzurufen, bevor Sie den Befehl sudo pip uninstall python-daemon richtig eingeben. "

    
Reijo Korhonen 18.08.2013 15:48
quelle

Tags und Links