2011-09-18 48 views
3

我試圖建立一個應用程序使用新ish Pyramid framework。我是金字塔的新手,不知道Zope做了什麼(其重要性將變得明顯)。我遵循的基本教程,但是當我嘗試運行應用程序,我得到這個回溯:問題導入Zope.deprecation

Traceback (most recent call last): 
    File "tasks.py", line 4, in <module> 
    from pyramid.config import Configurator 
    File "/opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/pyramid-1.2-py2.6.egg/pyramid/__init__.py", line 1, in <module> 
    from pyramid.request import Request 
    File "/opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/pyramid-1.2-py2.6.egg/pyramid/request.py", line 1, in <module> 
    from zope.deprecation import deprecate 
ImportError: No module named deprecation 

我試圖安裝金字塔使用的setuptools:

sudo easy_install pyramid 

其中,其它輸出的很多中包括這個:

Searching for zope.deprecation 
Reading http://pypi.python.org/simple/zope.deprecation/ 
Best match: zope.deprecation 3.5.0 
Downloading http://pypi.python.org/packages/source/z/zope.deprecation/zope.deprecation-3.5.0.tar.gz#md5=1e7db82583013127aab3e7e790b1f2b6 
Processing zope.deprecation-3.5.0.tar.gz 
Running zope.deprecation-3.5.0/setup.py -q bdist_egg --dist-dir /tmp/easy_install-ZiLy8j/zope.deprecation-3.5.0/egg-dist-tmp-yGFSor 
Adding zope.deprecation 3.5.0 to easy-install.pth file 

我認爲應該涵蓋它。

我也通過MacPorts的嘗試安裝的Zope:

sudo port install zope 

sudo port install py26-zopeinterface 

我也試着運行腳本之前運行sudo port load zope,但沒有幫助那裏。

我也嘗試從http://pypi.python.org/pypi/zope.interface下載源代碼並在目錄中手動構建它。

任何想法我做錯了什麼?

---- ----編輯

一個猜測是,在安裝其Zope的組件到我的系統的默認的Python框架(這是一個Enthought分佈),但我的默認Python環境是一個setuptools的是Macports已安裝,因此Macports zope模塊可能包含一些但不是全部組件,例如zope.deprecate。

回答

1

您可能會從更熟悉金字塔的人那裏得到答案,但這裏的問題是pyramid.request取決於zope.deprecation並且它沒有安裝/可用。你將不得不詳細說明「我試過使用...安裝zope」,以幫助我更多地瞭解它。

請確保您正在運行pyramid,從您安裝到的python。如果是這種情況,那麼zope.deprecation包應該安裝在那裏。你從python -c "import zope.deprecation ; print import zope.deprecation"得到什麼?

+0

感謝您的澄清 - 我擴大了原來的問題。 – tchaymore

+0

更新了答案。 –

3

該文檔包含有關如何使用virtualenv安裝Pyramid的信息。非常非常推薦這種方式使用virtualenv。已經安裝在你的主Python中的系統包與Pyramid的需求會有奇怪的相互作用。

0

我解決它通過安裝zope.deprecation OS包:

sudo apt-get install zope.deprecation 
0

只需重新安裝金字塔來解決。