Python27(win):导入daemon时出现错误:找不到pwd模块。

8

1) pip install daemon.

enter image description here

2) 打开 Windows 命令行并输入:python,然后输入:import daemon。终端将显示:

>>> 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 安装 pwd

有什么问题吗???


你尝试过将步骤2和3颠倒顺序吗? - Scott Stainton
C:\Python27\Scripts>pip install pwd 正在收集 pwd 找不到满足要求 pwd (来自版本: ) 未找到可匹配的发行版 for pwd - Sinbad lo
似乎没有名为“pwd”的模块。 - Sinbad lo
你是否将它安装在与你项目中使用的Python版本不同的发行版中了? - turnip
3个回答

4
  1. pwd模块是一个仅限于UNIX系统的包,用于管理密码。

  2. 您正在尝试安装的软件包是daemon,这是一个未维护的2014年软件包。有一个更新的软件包叫做python-daemon,它得到良好的维护,并用于在UNIX系统中实现守护进程。它也适用于python3。虽然这个软件包不适用于windows操作系统。

  3. 如果您正在自己编写应用程序并想在windows上运行它,请将其安装为服务,而不是守护进程。这篇stackoverflow文章已经过时,但仍然相关。


python-daemon 显然还需要 pwd - Erik Aronesty

2

python-daemon(新版本)和daemon都需要pwd包,但该包在Windows上不可用。

你的代码应该检测到这一点,并在Windows上禁用守护进程模式(这实际上不是一个事情)。

try:
    import daemon
except ImportError:
    daemon = None

稍后,您可以检查daemon is None是否为真。

0

我在getpass模块中也遇到了同样的问题,第一次使用getpass.getuser()时它能够正常工作,但之后就出现了以下错误:

module pwd not found

我通过从安装程序本身修复Python安装来解决了这个问题。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接