5

我正在虚拟环境中安装一个项目。我收到错误

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没有给出任何错误。据此_

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.

,它不应该给出任何错误。任何建议我在这里缺少什么或如何解决这个错误?

4

1 回答 1

4

我有类似的错误 - 我试图在没有站点包的情况下创建新的虚拟环境。它创造一切都很好。但是我的 ubuntu 已经安装zope.interface了供自己使用,所以它不想将它安装到我的 venv 之外。

这种碰撞导致我的 venv 在 mod_wsgi 下的简单测试应用程序中抛出错误:

     from zope.interface.registry import Components
ImportError: No module named registry

所以我试图zope.interface从基础 python 中删除。但是 unistall 命令没有删除它(我在 google 中发现,这是已知问题)。

zope.interface比我找到的解决方案:我刚刚切换到我的 venv 并从那里发出“升级”命令:

(env)user@ubuntu:~/env$ sudo pip install --upgrade zope.interface

在此之后我的zope.interface解雇问题。

你的问题很相似,所以我的解决方案可能会有所帮助。无论如何,这个答案对 ubuntu 桌面用户非常有用。

于 2014-04-14T22:27:14.073 回答