Ошибка импорта в zope.interface.registry в python

Я устанавливаю проект в виртуальной среде. Я получаю ошибку

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'

Я попробовал то же самое на моей машине (не виртуальный env),

>>> 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.

, это не должно давать никаких ошибок. Любое предложение, что мне здесь не хватает или как решить эту ошибку?

3 ответа

У меня была похожая ошибка - я пытался создать новый виртуальный env без site-пакетов. Это создает все хорошо. Но моя Ubuntu уже установлена zope.interface для собственного использования, поэтому он не хотел устанавливать его дополнительно к моему venv.

Это столкновение заставляет мой venv выдавать ошибку в простом тестовом приложении под mod_wsgi:

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

Поэтому я пытаюсь удалить zope.interface от базового питона. Но команда unistall не удалила его (я обнаружил в гугле, что это известная проблема).

Тогда я нашел решение: я просто переключился на свой venv и дал команду на "обновление" zope.interface оттуда:

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

После этого моя проблема с zope.interface dissmiss.

Ваша проблема похожа, поэтому моё решение может помочь. В любом случае, этот ответ очень полезен для пользователей настольных компьютеров с Ubuntu.

На всякий случай, если у кого-то все еще возникает та же проблема, попробуйте следующее:

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

Протестировано на Debian 11 (яблочко) и Ubuntu 22.04.

У меня была та же проблема, и обновление всех репозиториев устранило проблему:

      pip3 freeze --local | cut -d = -f 1 | xargs -I {} pip3 install --upgrade {}
Другие вопросы по тегам