我正在尝试使用新的 Pyramid framework 构建应用程序.我是 Pyramid 的新手,不知道 Zope 做了什么(其重要性将变得显而易见)。我遵循了基本教程,但是当我尝试运行应用程序时,我得到了这个回溯:
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 安装 Pyramid:
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 框架(这是一个 Enthought 发行版)中,但我的默认 python 环境是 Macports 安装的环境,所以 Macports zope 模块可能有一些但不是全部组件,例如 zope.deprecate。
最佳答案
该文档包含有关如何使用 virtualenv 安装 Pyramid 的信息。非常非常推荐以这种方式使用 virtualenv。已经安装在主 Python 中的系统包将与 Pyramid 的要求有奇怪的交互。
关于python - 问题导入 Zope.deprecation,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7459785/