Fedora: в Python 3 нет модуля с именем ZODB

Как я могу установить ZODB для Python 3? Я установил python-ZODB3 в Fedora, но я могу использовать ZODB только в Python 2:

$ python
Python 2.7.5 (default, Sep 25 2014, 13:57:38) 
[GCC 4.8.3 20140911 (Red Hat 4.8.3-7)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import ZODB
>>> quit()
$ python3
Python 3.3.2 (default, Jun 30 2014, 17:20:03) 
[GCC 4.8.3 20140624 (Red Hat 4.8.3-1)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import ZODB
Traceback (most recent call last):
  File "/usr/lib64/python3.3/code.py", line 90, in runcode
    exec(code, self.locals)
  File "<console>", line 1, in <module>
ImportError: No module named 'ZODB'

Какой пакет мне не хватает?

1 ответ

Решение

В общем, имя Fedora для пакета Python foo для Python 3.x есть python3-foo не python-foo3,

Особенно, python-ZODB3 пакет Python 2.x для ZODB3 (ZODB3 является устаревшей версией 3 ZODB, по-прежнему предоставляется для обратной совместимости.) И старые версии 3.x, и новые версии 4.x ZODB работают как для Python 2.x, так и для 3.x; это означает, что есть (по крайней мере, потенциально) пакеты с именем python-ZODB (ZODB 4.x для Python 2.x), python3-ZODB (4.x для 3.x), python-ZODB3 (3.x для 2.x) и python3-ZODB3 (3.x для 3.x). Это второй, который вы хотите, а не третий.

Я не могу гарантировать, что ваша версия Fedora и репозитории имеют python3-ZODB RPM, но по результатам быстрого поиска я нашел это, поэтому, по крайней мере, некоторые системы на базе Fedora имеют такой.

Если для этого нет RPM-версии Fedora, вы можете установить ее через pip, что-то вроде pip3 install ZODB,

Другие вопросы по тегам