2015-02-20 6 views
7

Sto provando a scrivere un semplice script Python locale per eseguire un po 'di analisi html. Ho installato beautifulsoup4 e importati utilizzandoErrore importazione BeautifulSoup

from bs4 import BeautifulSoup 

Ma ottengo l'errore:

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

Ho provato a installare BS4 in quasi ogni modo. Per prima cosa ho fatto

sudo pip install BeautifulSoup4 

poi ho provato a scaricare i file effettivi dal sito web e in esecuzione

sudo python setup.py install 

e alla fine ho provato

sudo su 
easy_install BeautifulSoup4 

Tutte queste operazioni sembrano essere completato con successo. Ma sto ancora ricevendo questo errore. Ho setacciato altri post ma praticamente tutti sono solo istruzioni di installazione, cosa che ho già fatto.

Digitando

pip freeze 

mostra che BS4 è installato ma in esecuzione

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

non sembra elencare BS4.

Edit 1: Esecuzione sudo PIP3 installare BeautifulSoup dà questo errore:

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: risolto! La ragione PIP3 stava venendo a mancare era perché stavo usando

sudo pip3 install BeautifulSoup 

invece di

sudo pip3 install BeautifulSoup4 

che ha funzionato. Grazie!

+0

Se si dispone di python 2 e 3 e pip installato per entrambi, voi potrebbe essere installato in uno e usando l'altro. Controlla se hai i comandi 'pip2' o' pip3', e prova a eseguire 'python2' e a fare l'importazione lì. –

+0

Ho sia pip2 che pip3, ma ho solo python3, non python2. – gmaster

+0

Esegui 'pip3 installa BeautifulSoup4', quindi. –

risposta

5

La soluzione è:

sudo pip3 install BeautifulSoup4 
+0

ottima soluzione @ ers81239 –

0

Prova:

sudo pip install BeautifulSoup 

Poi

from BeautifulSoup import BeautifulSoup 

È ora possibile chiamare tutte le funzioni da BeautifulSoup