创建Python后台程序-“module”对象没有“DaemonContext”属性

2024-10-02 10:27:46 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试对我的应用程序进行守护,并收到错误消息:

out:     with daemon.DaemonContext():
out: AttributeError: 'module' object has no attribute 'DaemonContext'

其他人似乎是从未安装的模块中获取此错误的。作为Python的新手,有一点令人困惑的是,有一个守护程序和Python守护程序包,还有两种安装Python包的方法(sudo apt get install和sudo pip install)。但是,似乎我已经安装了这个包。我在Ubuntu 10.04上安装了Python 2.6。有什么想法吗?

我好像安装了模块:

# pip freeze
LEPL==5.0.0
MySQL-python==1.2.2
distribute==0.6.10
lockfile==0.8
matplotlib==0.99.1.1
numpy==1.3.0
pyparsing==1.5.2
python-apt==0.7.94.2ubuntu6.4
python-daemon==1.5.2
python-dateutil==1.4.1
pytz==2010b
rpy2==2.0.8
wsgiref==0.1.2

安装模块的更多证据:

$ python
>>> import daemon
>>> dir(daemon)
['DaemonContext', '__builtins__', '__doc__', '__file__', '__name__', '__package__', '__path__', '_copyright', '_license', '_url', '_version', 'daemon', 'version']

Tags: 模块installpip应用程序消息version错误with
2条回答

产生错误的程序显然使用了名为daemondifferent模块。您是否调用了程序本身,或同一目录中的另一个模块daemon.py?如果是这样,则会隐藏已安装的daemon模块。重命名daemon.py(并删除Python将创建的daemon.pyc文件),然后重试。

如果没有看到任何阴影daemon.py,请打印应用程序daemon.__file__,并查看从何处导入。

我也参加这个项目。如果我调用print daemon.__file__,它将打印/usr/local/lib/python2.6/dist-packages/daemon.pyc,这是一个错误位置的正确文件,意味着我以错误的方式安装了packege。

我使用命令“sudo pip install daemon”,它只安装daemon.py文件。我们应该用命令 “sudo pip install python daemon”,安装整个包。之后print daemon.__file__打印/usr/local/lib/python2.6/dist-packages/daemon/__init__.pyc,这意味着我已经安装了python daemon-package,而不仅仅是一个python文件daemon.py。

令人困惑,但这是我自己的错。

记住在给出正确的安装命令sudo pip uninstall python daemon之前调用“sudo pip uninstall daemon”。

相关问题 更多 >

    热门问题