我正在虚拟环境中安装项目。我收到错误
from zope.interface.registry import Components
Traceback (most recent call last):
File "<console>", line 1, in <module>
ImportError: No module named registry
此模块的版本为4.0.5
>>> import pkg_resources
>>> pkg_resources.get_distribution("zope.interface").version
'4.0.5'
我在我的机器上尝试了相同的操作(不是虚拟环境),
>>> import pkg_resources
>>> pkg_resources.get_distribution("zope.interface").version
'4.0.1'
>>> from zope.interface.registry import Components
此处from zope.interface.registry import Components
未发现任何错误。根据{{3}}
QUOTE: 3.8.0 (2011-09-22)
New module zope.interface.registry. This is code moved from
zope.component.registry which implements a basic nonperistent component registry
as zope.interface.registry.Components.
,它不应该给出任何错误。有什么建议我在这里缺少或如何解决这个错误?
答案 0 :(得分:4)
我有类似的错误 - 我尝试创建没有站点包的新虚拟环境。它创造了一切美好。但是我的ubuntu已经安装了zope.interface
供自己使用,所以它不想在我的venv之外安装它。
这次碰撞导致我的venv在mod_wsgi下的简单测试应用程序中抛出错误:
from zope.interface.registry import Components
ImportError: No module named registry
所以我试图从基础python中删除zope.interface
。但unistall命令没有删除它(我在谷歌发现,它已知问题)。
比我找到了解决方案:我刚刚切换到我的venv并命令从那里“升级”zope.interface
:
(env)user@ubuntu:~/env$ sudo pip install --upgrade zope.interface
在此之后zope.interface
解决了我的问题。
你的问题很相似,所以我的解决方案可以提供帮助。无论如何,这个答案对于ubuntu桌面用户非常有用。