2014-10-28 7 views
0

Python 3 용 ZODB를 어떻게 설치할 수 있습니까? 나는 Python-ZODB3를 Fedora에 설치했지만 Python 2에서만 ZODB를 사용할 수 있습니다.Fedora : Python 3에서 'ZODB'라는 모듈 없음

$ 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

일반적으로 Python 3.x 용 Python 패키지 foo의 Fedora 이름은 python-foo3이 아니라 python3-foo입니다.

특히 python-ZODB3은 ZODB3 용 Python 2.x 패키지입니다. (ZODB3은 더 이상 사용되지 않는 버전 3 ZODB이며 이전 버전과의 호환성을 위해 제공됩니다.) ZODB의 이전 3.x 및 4.x 버전은 모두 Python 2.x 및 3.x에서 작동합니다. 즉, python-ZODB (Python 2.x 용 ZODB 4.x), python3-ZODB (3.x 용 4.x), python-ZODB3 (2.x 용 3.x) 및 python3-ZODB3 (3 .x for 3.x). 그것은 여러분이 원하는 두 번째 것입니다. 세 번째는 아닙니다.

페도라 버전과 repos가 RP3003을 사용한다고 보장 할 수는 없지만 빠른 검색에서 this을 찾았습니다. 따라서 적어도 페도라 기반 시스템에는 하나가 있습니다.

페도라 RPM이 없다면 pip 등의 pip3 install ZODB을 통해 설치할 수 있습니다.

+0

답을 주셔서 감사합니다. 해결책을 찾았 기 때문에 받아 들였지만 저장소에'python3-ZODB * '라는 패키지가 없습니다 (Fedora 20 사용). 나는 마침내 올바른 문장이'pip-3.3 install ZODB'라는 것을 알게되었습니다. – czayas

+0

단지 기록을 위해, Korora (Fedora의 회전)에서 나는'sudo yum install python3-devel'을 먼저 실행 한 다음'sudo easy_install-3.3 ZODB'를 실행해야했습니다. – czayas

+0

@czayas : 일반적으로'easy_install'을 사용해서는 안됩니다. (어떤 경우에는 좋은 이유가 있지만, 그런 이유가 있는지 모른다면, 그 이유가 없다.) 나는'python3-pip' 패키지를 설치할 수 있다고 확신한다. 그렇지 않은 경우 수동으로 설치할 수 있습니다. – abarnert