导入错误,python中的interfaces.registry

afdcj2ne  于 2023-04-28  发布在  Python
关注(0)|答案(2)|浏览(107)

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

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没有给予任何错误。根据this

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.

,它不应该给予出任何错误。有什么建议我错过了这里或如何解决这个错误?

zzlelutf

zzlelutf1#

我有类似的错误-我试图创建新的虚拟环境没有网站包。它创造了一切美好。但是我的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 dissmiss。
你的问题很类似,所以我的解决方案可能会有所帮助。无论如何,这个答案对ubuntu桌面用户非常有用。

v1uwarro

v1uwarro2#

如果有人仍然有同样的问题,试试这个:

apt remove --purge certbot
apt autoremove
apt clean
apt install certbot -u

在'Debian 11(bullseye)'和'Ubuntu 22上测试。04'

相关问题