2016-03-31 7 views
0

Ich installiere das Ubuntu 14.04LTS als eine virtuelle Maschine, es hat bereits die Python2.7 und Python3.4 installiert Maschine. Danach verwende ich den Befehl , um das Framework zu installieren, twisted, ich kann import twisted in Python 2.7 verwenden, aber ich kann nicht denselben Befehl import twisted in Python 3.4 verwenden. Es zeigtIn python3, nach der Installation twisteed, beim Import verdreht zeigt es "ImportError: Kein Modul namens 'twisted'"

>>> import twisted 
Traceback (most recent call last): 
File "<stdin>", line 1, in <module> 
ImportError: No module named 'twisted' 

Ich versuche haben viele Art und Weise die verdrehte, wie

sudo apt-get install python-setuptools 
Sudo apt-get install python-dev 
Sudo easy_install twisted 

oder

sudo pip install twisted 

sogar laden Sie die Packung tar xjf Twisted-13.1.0.tar.bz2 und tar xzf zope.interface-3.6.1.tar.gz zu installieren als python setup.py install

laufen jedoch Leider funktionieren diese nicht. Weiß jemand, wie man dieses Problem löst? Vielen Dank !

Antwort

0

Dies liegt daran, dass alle diese Bibliotheken in Python 2.7-Bibliotheken installieren.

sudo pip3 install twisted 

Um zu verstehen, warum Ihnen dies passiert, beachten Sie, dass Ubuntu Symlinks python um die python2.7 ausführbare und python3 zu python3.4:

zu Python 3 verwenden pip3, nicht pip zu installieren.

Von dem, was ich verstehe, Pakete wie diese auf apt-get intern rufen python während der Installation statt python3. Daher wird in diesen Fällen nichts in Python 3.4 installiert.

Die sichere Alternative ist immer pip für Python-Installation zu verwenden. pip3 ist symlinked mit der Version pip, die nur Python 3.4 bedient, also immer das für Python 3-Pakete aufrufen.

Eine noch bessere Lösung ist die Verwendung von virtualenv, um verschiedene Python- und Pip-Versionen voneinander zu isolieren. Auf diese Weise können Sie, wenn Sie eine virtuelle Umgebung betreten, pip verwenden, ohne sich über die symbolisierte Version Gedanken machen zu müssen.