我正在尝试使用新的ishPyramid framework构建一个应用程序。我是新来的金字塔,不知道佐佩做什么(其中的重要性将变得明显)。我遵循了基本教程,但是当我尝试运行应用程序时,我得到了以下回溯:

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

我试着用安装工具安装金字塔:
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下载源代码并在目录中手动构建它。
你知道我做错了什么吗?
----编辑----
一种猜测是,setuptools在将其zope组件安装到我系统的默认python框架(这是一个热情洋溢的发行版)中,但是我的默认python环境是macports安装的环境,所以macports zope模块可能有一些组件,但不是所有组件,比如zope.deprecate。

最佳答案

您可能会从更熟悉金字塔的人那里得到答案,但这里的问题是pyramid.request依赖于zope.deprecation,它没有安装/可用你得详细说明“我试过用…”安装zope,我会帮你更多。
确保运行的python与安装时使用的python相同。如果是这种情况,那么应该在那里安装zope.deprecation包。你从python -c "import zope.deprecation ; print import zope.deprecation"得到了什么?

关于python - 问题导入Zope.deprecation,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7459785/

10-09 20:48