2016-04-14 4 views
1

Ich führe ein Python3-Programm, das html5lib erfordert, aber ich erhalte den Fehler No module named 'html5lib'.python3 - Kein Modul namens 'html5lib'

Hier sind zwei Sitzung des Terminal:

[email protected] ~ $ python 
Python 2.7.9 (default, Mar 1 2015, 12:57:24) 
[GCC 4.9.2] on linux2 
>>> import html5lib 
>>> html5lib.__file__ 
'/usr/local/lib/python2.7/dist-packages/html5lib/__init__.pyc' 
>>> quit() 

[email protected] ~ $ python3 
Python 3.4.2 (default, Oct 8 2014, 10:45:20) 
[GCC 4.9.1] on linux 
>>> import html5lib 
Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
ImportError: No module named 'html5lib' 
>>> 

Wo kann das Problem sein?

Antwort

4

Scheint haben Sie das Modul nur für Python 2. Wahrscheinlich müssen Sie es für Python3 installieren. Normalerweise verwenden Sie pip3 dafür.

pip3 install html5lib 

Sie können Ihre installierten Module prüfen mit:

pip freeze (or pip3 freeze) 

Ich empfehle Ihnen dringend virtualenv für die Entwicklung zu verwenden. So können Sie die verschiedenen Python-Versionen und Bibliotheken/Module nach Projekt trennen.

Verwendung:

pip3 install virtualenv 

Sie können dann einfach erstellen "Umgebungen" mit (einfache Version)

virtualenv projectname --python=PYTHON_EXE_TO_USE 

Dies erzeugt ein Verzeichnis Projektname. Sie wechseln nur in diese Richtung und tun ein

Und Ausleger. Sie haben eine isolierte Umgebung mit der angegebenen python.exe und keine installierten Module. Sie haben auch einen isolierten Pip für dieses Projekt. Wirklich hilft viel.

in diesem Projekt arbeiten zu beenden tun ein:

Scripts\deactivate (on linux: deactivate) 

Thats it.

ONe moer Sache;) Sie können auch tun ein

pip freeze > requirements.txt 

in einer Datei alle benötigten Abhängigkeiten für ein Projekt zu speichern. Jedes Mal, wenn Sie Sie von Grund auf in einem neuen virtualenv neu starten müssen einfach CABN tun ein:

pip install -r requirements.txt 

Dies installiert alle benötigten Module für Sie. Fügen Sie eine -U hinzu, um die neueste Version zu erhalten.