2015-04-25 63 views
3

我不確定這個問題是否與supervisord實際相關,但這是我嘗試啓動它時得到的結果。它看起來像一個有點像將與Python2本身的問題...KeyError:啓動一些Python應用程序時的'zope'(supervisord,gunicorn,...)

$ 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服務器。

+0

'zope'命名空間中的軟件包以某種方式是b0rken。你是否刪除了類似'zope.interface'或類似的操作? –

+0

似乎'supervisord'安裝不正確。嘗試重新安裝它。 – Valijon

+0

@Valijon:不,另一個包不是。 –

回答

2

基於long discussion in chat,問題在於你已經搞亂了你的env,使得你係統上的一些python安裝變得困惑。您的.bashrc文件包含行export PYTHONPATH=/usr/local/lib/python3.3/dist-packages/。然而,所有的Python將使用此路徑,甚至是Python的2

您安裝主管,並與易gunicorn,而這些版本使用python2。當您運行gunicorn時,該命令使用python2,它使用Python 3特定的東西來拾取PYTHONPATH。沿線的某些東西試圖檢查路徑並以某種方式感到困惑。

刪除.bashrc文件中修改PYTHONPATH的行。

+0

仍然好奇它爲什麼沒有提出這個問題之前(幾個月),但我很高興它終於修好了!感謝您的耐心和幫助。 – JeromeJ

相關問題