2012-11-11 21 views
5

Próbowałem wszystko tutaj: How can I install the Beautiful Soup module on the Mac?Instalacja BeautifulSoup na Mac OSX

Instalacja wydaje się działać (uzyskanie prawidłowego wyjścia podczas instalacji) zarówno z tradycyjnym sposobem zainstalowania, a także za pomocą easy_install ale kiedy używam:

from bs4 import BeautifulSoup 

tłumacz mówi, że taki moduł nie istnieje.

Na co powinienem najpierw zwrócić uwagę, aby rozwiązać ten problem?

+2

czy jesteś pewien, że używasz poprawnej wersji interpretera pythonów (jeśli na komputerze jest ich kilka)? spróbuj wywołać swój skrypt za pomocą python2.6, python2.7 itd. – btel

Odpowiedz

6

Aby zobaczyć wszystkie pakiety zostały zainstalowane, można uruchomić następujące w tłumacza:

>>> help('modules') 

To będzie dla was listy wszystkie moduły są zainstalowane. Poszukaj bs4 na liście (która wydaje się być alfabetyczna). Inną opcją jest wydanie w swoim wierszu:

$ python -c "help('modules')" | grep bs4 

Jeśli nic nie wyjdzie, albo nie można znaleźć go na liście, moduł nie jest zainstalowany.

Aby go zainstalować, użyłem sudo pip install bs4. Być może trzeba najpierw uruchomić sudo easy_install pip, aby uzyskać pip. Zauważ również użycie sudo, ponieważ może to mieć znaczenie.

I używam wersji 10.8 kompilacji 12C60.

+0

Dziękuję - bardzo przydatne. Mogę potwierdzić, że moduł jest zainstalowany iz jakiegoś powodu pozwala mi go teraz zaimportować. Bardzo dziwny. Z jakiegoś powodu po zainstalowaniu nowych modułów (między innymi) mój komputer nie będzie aktualizowany. Pozwoliłem, żeby maszyna "spała" i kiedy do niej wrócę, pracują. Czy istnieje jakieś polecenie "aktualizacji" lub odświeżenia, które należy wykonać po zainstalowaniu nowych pakietów? –

+0

Nie wiem, ale zawsze można uruchomić polecenie 'help()' po instalacji, aby upewnić się, że zadziałało. – Whymarrh

+0

Wielkie dzięki to będą pamiętać. –

0

Mam uggly rozwiązania, które działa na mnie:

try: 
    from bs4 import BeautifulSoup as bs 
except ImportError: 
    from BeautifulSoup import BeautifulSoup as bs 

po co wzywam wszystko z bs prefiksu.