2013-02-24 14 views
17

Sono un principiante e avevo bisogno del modulo pySerial e feedparser per i miei progetti. Sto correndo il Leone di montagna.Il modulo di installazione del pip Python non è stato trovato. Come collegare Python alla posizione del pip?

Ho seguito il seguente tutorial in modo da poter eseguire l'aggiornamento a python 2.7.3 e quindi utilizzare i moduli sopra menzionati.

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

ho seguito questo tutorial fino ho installato pip. Invece di installare Virtualenv. Ho usato i seguenti comandi per installare pySerial e feedparser

Ho pensato che fosse già presente e controllato. Python sembra importarlo bene. La mia versione python è stata aggiornata a 2.7.3 btw da quando l'ho installata usando homebrew come menzionato nel tutorial.

Poi ho provato a installare feedparser

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

Si noti come la sua nella directory site-packages in/local/lib usr.

Tutte le mie installazioni di pip sono state installate in quella directory ma Python non sembra prenderle quando provo ad importarle.

Come impostare il percorso in modo che Python sia presente anche nella directory principale?

Il vostro aiuto sarà molto apprezzato.

ho provato a cercare risposte qui: 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?

ma niether di loro sono nella stessa situazione come lo sono io. Non capisco perché questo sta accadendo come ho modificato il mio bash_profile con il seguente

# 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 

homebrew poi installato e poi installato python 2.7.3 tramite homebrew (2.7.3 è ora attualmente in esecuzione sulla mia macchina)

Ho pensato che tutte le installazioni dei pip sarebbero state collegate correttamente?

risposta

32

Come una soluzione rapida, e supponendo che siete su un terminale bash-like (Linux/OSX), si può provare a esportare la variabile d'ambiente PYTHONPATH:

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

Per Python 2.7

+7

Funziona per me. Puoi dare una breve spiegazione a questo? Thx – GilbertLee

0

come hai installato easy_install/pip? assicurati di averlo installato per la versione aggiornata di python. quello che potrebbe essere successo qui è che la vecchia installazione (predefinita) di Python potrebbe essere collegata all'installazione del tuo pip. potresti provare a eseguire la versione predefinita e importare i moduli appena installati.

7

Ho anche avuto questo problema. Ho notato che tutte le sottodirectory e i file in /usr/local/lib/python2.7/dist-packages/ non avevano permessi di lettura o scrittura per il gruppo e altri, e erano di proprietà di root.Ciò significa che solo l'utente root li potrebbe accedere, e quindi ogni utente che ha tentato di eseguire uno script Python che utilizza una di questi moduli ottenuto un errore di importazione:

$ 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 
>>> 

ho concesso il permesso di lettura sui file e il permesso di ricerca sulle sottodirectory per il gruppo e l'altro in questo modo:

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

e che ha risolto il problema per me:

$ 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 
>>> 

ho installato questi pacchetti con il seme (eseguito come root ingegno h sudo). Non sono sicuro del motivo per cui li ha installati senza concedere permessi di lettura/ricerca. Questo mi sembra un bug in me, o forse nella configurazione del pacchetto, ma non ho molta familiarità con Python e la sua confezione del modulo, quindi non ne sono sicuro. FWIW, tutti i pacchetti in dist-packages avevano questo problema. Comunque, spero che aiuti.

Saluti.

4

Ecco qualcosa che ho imparato dopo un lungo periodo di avere problemi con pip quando ho avuto diverse versioni di Python installate (valido soprattutto per gli utenti OS X che probabilmente utilizzano birra installare miscele python.)

Presumo che la maggior parte sviluppatori Python hanno all'inizio del loro script:

#!/bin/env python 

si può essere sorpresi di scoprire che questo non è necessariamente lo stesso pitone di quello che si esegue dalla riga di comando >python

Per essere sicuri di installare il pacchetto utilizzando l'istanza pip corretto per l'interprete Python è necessario eseguire qualcosa di simile:

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

fantastico. questo ha risolto il mio problema. –

+0

Penso che intendessi '/ usr/bin/env' per OSX –

3

Non sono altre soluzioni stavano lavorando per me, così ho provato:

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

E questo lo ha risolto per me. Il tuo chilometraggio può variare.

0

Per me il problema era che avevo le impostazioni di configurazione nel file di strani pydistutils.cfg

provare a eseguire rm ~/.pydistutils.cfg

Problemi correlati