【发布时间】:2015-04-25 13:03:13
【问题描述】:
我不确定这个问题是否真的与 supervisord 有关,但这是我尝试启动它时得到的结果。看起来有点像这个问题与 Python2 本身有关……
$ supervisord
Traceback (most recent call last):
File "/usr/bin/supervisord", line 5, in <module>
from pkg_resources import load_entry_point
File "/usr/lib/python2.7/dist-packages/pkg_resources.py", line 2727, in <module>
add_activation_listener(lambda dist: dist.activate())
File "/usr/lib/python2.7/dist-packages/pkg_resources.py", line 700, in subscribe
callback(dist)
File "/usr/lib/python2.7/dist-packages/pkg_resources.py", line 2727, in <lambda>
add_activation_listener(lambda dist: dist.activate())
File "/usr/lib/python2.7/dist-packages/pkg_resources.py", line 2230, in activate
map(declare_namespace, self._get_metadata('namespace_packages.txt'))
File "/usr/lib/python2.7/dist-packages/pkg_resources.py", line 1815, in declare_namespace
path = sys.modules[parent].__path__
KeyError: 'zope'
我的记忆可能出卖了我,但当我尝试启动另一个程序时,我也想记得它发生在我身上,但我不记得是哪个 atm。 [1]
我使用 supervisord 来监控一个进程是否崩溃并自动重新启动它,但如果它连续崩溃,它就会放弃,我必须杀死 supervisord 并手动重新启动它。它以前可以工作,但现在不行了。
编辑: [1] 当我尝试启动 gunicorn 时也会发生。
$ /var/www/bin/gunicorn -b 127.0.0.1:5000 index:app
Traceback (most recent call last):
File "/var/www/bin/gunicorn", line 5, in <module>
from pkg_resources import load_entry_point
File "/var/www/lib/python3.3/site-packages/pkg_resources.py", line 3027, in <module>
add_activation_listener(lambda dist: dist.activate())
File "/var/www/lib/python3.3/site-packages/pkg_resources.py", line 741, in subscribe
callback(dist)
File "/var/www/lib/python3.3/site-packages/pkg_resources.py", line 3027, in <lambda>
add_activation_listener(lambda dist: dist.activate())
File "/var/www/lib/python3.3/site-packages/pkg_resources.py", line 2514, in activate
list(map(declare_namespace, self._get_metadata('namespace_packages.txt')))
File "/var/www/lib/python3.3/site-packages/pkg_resources.py", line 2082, in declare_namespace
path = sys.modules[parent].__path__
KeyError: 'zope'
编辑 2: 似乎与这个问题有关:https://bugs.launchpad.net/ubuntu/+source/zope.app.pagetemplate/+bug/851038 ......但我不确定该怎么做。 编辑编辑:也许不是,它已经 4 岁了。
是的,我也使用 Ubuntu Server。
【问题讨论】:
-
zope命名空间中的包在某种程度上是 b0rken。您是否删除了zope.interface之类的内容或类似操作? -
好像
supervisord没有正确安装。尝试重新安装它。 -
@Valijon:不,另一个包不是。
-
@MartijnPieters 没有删除任何内容,或者我不知道。
-
我可以离开它;很抱歉,我现在没有时间帮助您解决这个问题,但这里的
setuptoolsnamespace package 已损坏。查看您的回溯,它是一个gunicorn依赖项。
标签: python gunicorn supervisord