2013-02-24 13 views
17

Jestem początkującym i potrzebowałem modułu pySerial i Feedparser dla moich projektów. Używam lwa górskiego.Moduł instalacji Pythona nie został znaleziony. Jak powiązać pythona z lokalizacją pip?

Podążyłem za poniższym samouczkiem, dzięki czemu mogłem uaktualnić do Pythona 2.7.3, a następnie użyć wyżej wymienionych modułów.

http://hackercodex.com/guide/python-virtualenv-on-mac-osx-mountain-lion-10.8/

I następnie ten samouczek do zainstalowałem pip. Zamiast instalować Virtualenv. Użyłem następujących poleceń do zainstalowania urządzenia iOperatora i analizatora karmy

Zakładałem, że to już było i sprawdziłem. Python wydaje się importować to dobrze. Moja wersja python została uaktualniona do wersji 2.7.3, ponieważ zainstalowałem ją przy użyciu homebrew, jak wspomniano w samouczku.

Potem próbowałem instalacji feedparser

$ pip install feedparser 
Requirement already satisfied (use --upgrade to upgrade): feedparser in /usr/local/lib/python2.7/site-packages 
Cleaning up... 

zauważyć, jak jej w katalogu site-packages w usr/local/lib.

Wszystkie moje instalacje pip instalowane są w tym katalogu, ale python nie wydaje się ich zbierać, gdy próbuję je zaimportować.

Jak ustawić ścieżkę, aby python również tam wyglądał, a także katalog główny?

Twoja pomoc zostanie bardzo doceniona.

Próbowałem szuka odpowiedzi tutaj: Pip installs but module is not found Why I can't import beautifulsoup on mac using python 2.7 after installing it by using pip and/or easy_install?

ale żadno z nich nie są w takiej samej sytuacji jak ja. Nie rozumiem, dlaczego tak się dzieje i jak edytować moje bash_profile z następującym

# Set architecture flags 
export ARCHFLAGS="-arch x86_64" 
# Ensure user-installed binaries take precedence 
export PATH=/usr/local/share/python:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin 
# Load .bashrc if it exists 
test -f ~/.bashrc && source ~/.bashrc 

następnie zainstalowane homebrew, a następnie zainstalować Python 2.7.3 przez homebrew (2.7.3 jest już obecnie działa na moim komputerze)

Pomyślałem, że wszystkie instalacje pip będą poprawnie połączone?

Odpowiedz

32

Jako szybkiego obejścia, a zakładając, że jesteś w bash-like terminalu (Linux/OSX), można spróbować wyeksportować zmienną środowiskową PYTHONPATH:

export PYTHONPATH="${PYTHONPATH}/usr/local/lib/python2.7/site-packages:/usr/lib/python2.7/site-packages" 

dla Pythona 2.7

+7

to działa na mnie. Czy możesz wyjaśnić to krótko? Thx – GilbertLee

0

jak zainstalowałeś easy_install/pip? upewnij się, że zainstalowałeś go dla uaktualnionej wersji Pythona. mogło się zdarzyć, że stara (domyślna) instalacja pythona może być połączona z twoją instalacją pip. możesz spróbować uruchomić domyślną wersję i importować nowo zainstalowane moduły.

7

Też miałem ten problem. Zauważyłem, że wszystkie podkatalogi i pliki w /usr/local/lib/python2.7/dist-packages/ nie miały uprawnień do odczytu ani zapisu dla grupy i innych, a były własnością root.Oznacza to, że tylko użytkownik root mógł z nich korzystać, a więc każdy użytkownik, który próbował uruchomić skrypt Pythona, który używany każdy z tych modułów masz błąd importowania:

$ python 
Python 2.7.3 (default, Apr 10 2013, 06:20:15) 
[GCC 4.6.3] on linux2 
Type "help", "copyright", "credits" or "license" for more information. 
>>> import selenium 
Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
ImportError: No module named selenium 
>>> 

I przyznanych prawa do odczytu plików i zgody wyszukiwania na podkatalogów dla grupy i innych tak:

$ sudo chmod -R go+rX /usr/local/lib/python2.7/dist-packages 

i to rozwiązało problem dla mnie:

$ python 
Python 2.7.3 (default, Apr 10 2013, 06:20:15) 
[GCC 4.6.3] on linux2 
Type "help", "copyright", "credits" or "license" for more information. 
>>> import selenium 
>>> 

zainstalowałem te pakiety z pip (uruchom jako root dowcipu h sudo). Nie wiem, dlaczego je zainstalował, nie udzielając uprawnień do odczytu/wyszukiwania. Wydaje mi się, że jest to błąd w moim odczuciu, lub prawdopodobnie w konfiguracji pakietu, ale nie znam Pythona i jego modułów, więc nie wiem na pewno. FWIW, wszystkie pakiety w pakietach dist miały ten problem. W każdym razie, mam nadzieję, że pomaga.

Pozdrawiam.

4

Oto coś się nauczyłem po długim czasie problemy z pip, gdy miałem kilka wersji Pythona zainstalowany (ważne szczególnie dla użytkowników OS X, które są prawdopodobnie stosując napar zainstalować mieszanki Pythonie.)

Zakładam że większość programistów Pythona mają na początku swoich skryptów:

#!/bin/env python 

możesz być zaskoczony, aby dowiedzieć się, że to nie zawsze jest taki sam jak ten pyton jest uruchamiane z linii poleceń >python

Aby mieć pewność, że instalacja pakietu używając poprawnej instancji pip dla interpreter Pythona trzeba uruchomić coś takiego:

>/bin/env python -m pip install --upgrade mymodule 
+0

niesamowite. to rozwiązało mój problem. –

+0

Myślę, że chodziło o '/ usr/bin/env' dla OSX –

3

Żadne inne rozwiązania pracowali dla mnie, więc próbowałem:

pip uninstall <module> && pip install <module> 

I to rozwiązało to dla mnie. Twój przebieg może się różnić.

0

Dla mnie problemem było to, że miałem dziwne ustawienia konfiguracyjne w pliku pydistutils.cfg

Spróbuj uruchomić rm ~/.pydistutils.cfg

Powiązane problemy