Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Python27(win): import daemon, but there is an error: No module named pwd

Tags:

python

daemon

pwd

1) pip install daemon.

enter image description here

2) Open windows cmd and input: python, then input: import daemon the terminal show

>>> import daemon
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "C:\Python27\lib\site-packages\daemon\__init__.py", line 42, in <module>
    from .daemon import DaemonContext
  File "C:\Python27\lib\site-packages\daemon\daemon.py", line 25, in <module>
    import pwd
ImportError: No module named pwd
>>>

3) pip install pwd

what's the problem?????

like image 458
Sinbad lo Avatar asked Sep 07 '16 09:09

Sinbad lo


2 Answers

  1. The pwd module is a UNIX only package, it's for managing passwords.

  2. The package you are trying to install is daemon, which is an un-maintained package from 2014. There is a more recent package called python-daemon, which is well maintained and used for implementing daemons in UNIX systems. It also works with python3. Though again, this will not work on windows.

  3. If you're writing an application yourself and want to do this on windows you need to install it as a service, not a daemon this stackoverflow post is old, but still relevant.

like image 53
Michael Robinson Avatar answered Oct 05 '22 23:10

Michael Robinson


python-daemon (newer version) and daemon both require the pwd package, which is not available on Windows.

Your code should detect that this is not available and disable daemon mode on Windows (which isn't really a thing).

try:
    import daemon
except ImportError:
    daemon = None

Then later, you can check if daemon is None.

like image 24
Erik Aronesty Avatar answered Oct 06 '22 00:10

Erik Aronesty