2015-02-20 3 views
7

Ich versuche, ein einfaches, lokales Python-Skript zu schreiben, um einige HTML-Parsing zu tun. Ich installierte beautifulsoup4 und es importiertBeautifulSoup Importfehler

from bs4 import BeautifulSoup 

verwenden, aber ich bekomme die Fehlermeldung:

Traceback (most recent call last): 
    File "scrape_descriptions.py", line 1, in <module> 
    from bs4 import BeautifulSoup 
ImportError: No module named 'bs4' 

Ich habe versucht, BS4 Installation in fast jeder Hinsicht. Zuerst habe ich

sudo pip install BeautifulSoup4 

dann habe ich versucht, die eigentlichen Dateien von der Website herunterladen und

sudo python setup.py install 

laufen und schließlich habe ich versucht,

sudo su 
easy_install BeautifulSoup4 

All diese Operationen erfolgreich zu haben scheinen abgeschlossen. Aber ich bekomme immer noch diesen Fehler. Ich habe andere Beiträge durchforstet, aber so ziemlich alle sind nur Installationsanweisungen, die ich bereits gemacht habe.

Typing

pip freeze 

zeigt, dass BS4 installiert ist, aber läuft

$ python3 -i 
>>> help('modules') 

nicht BS4 zur Liste erscheint.

Edit 1: Ausführen von sudo PIP3 BeautifulSoup installieren gibt diesen Fehler:

Downloading/unpacking BeautifulSoup 
    Downloading BeautifulSoup-3.2.1.tar.gz 
    Running setup.py (path:/private/tmp/pip_build_root/BeautifulSoup/setup.py) egg_info for package BeautifulSoup 
    Traceback (most recent call last): 
     File "<string>", line 17, in <module> 
     File "/private/tmp/pip_build_root/BeautifulSoup/setup.py", line 22 
     print "Unit tests have failed!" 
            ^
    SyntaxError: invalid syntax 
    Complete output from command python setup.py egg_info: 
    Traceback (most recent call last): 

    File "<string>", line 17, in <module> 

    File "/private/tmp/pip_build_root/BeautifulSoup/setup.py", line 22 

    print "Unit tests have failed!" 

           ^

SyntaxError: invalid syntax 

---------------------------------------- 
Cleaning up... 
Command python setup.py egg_info failed with error code 1 in /private/tmp/pip_build_root/BeautifulSoup 
Storing debug log for failure in /Users/griff/.pip/pip.log 

Edit 2: Gelöst! Der Grund PIP3 versagte, weil ich

sudo pip3 install BeautifulSoup 

statt

sudo pip3 install BeautifulSoup4 

wurde unter Verwendung der gearbeitet. Vielen Dank!

+0

Wenn Sie sowohl Python haben 2 und 3, und Pip installiert für beide, Sie könnte in einem installieren und den anderen verwenden. Überprüfen Sie, ob Sie 'pip2' oder' pip3' Befehle haben, und versuchen Sie 'python2' auszuführen und dort den Import durchzuführen. –

+0

Ich habe sowohl Pip2 als auch Pip3, aber ich habe nur Python3, nicht Python2. – gmaster

+0

Führen Sie dann 'pip3 install BeautifulSoup4' aus. –

Antwort

5

Die Lösung lautet:

sudo pip3 install BeautifulSoup4 
+0

großartige Lösung @ ers81239 –

0

Versuchen:

sudo pip install BeautifulSoup 

Dann

from BeautifulSoup import BeautifulSoup 

Sie können nun alle Funktionen von BeautifulSoup rufen