2015-08-02 21 views
39

Non so qual è il problema ma sono bloccato seguendo alcune soluzioni StackOverflow che non arrivano da nessuna parte. Puoi per favore aiutarmi su questo?installazione pip /usr/local/opt/python/bin/python2.7: interprete non valido: nessun file o directory

Monas-MacBook-Pro:CS764 mona$ sudo python get-pip.py 
    The directory '/Users/mona/Library/Caches/pip/http' or its parent directory is not owned by the current user and the cache has been disabled. Please check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag. 
    The directory '/Users/mona/Library/Caches/pip/http' or its parent directory is not owned by the current user and the cache has been disabled. Please check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag. 
    /tmp/tmpbSjX8k/pip.zip/pip/_vendor/requests/packages/urllib3/util/ssl_.py:90: InsecurePlatformWarning: A true SSLContext object is not available. This prevents urllib3 from configuring SSL appropriately and may cause certain SSL connections to fail. For more information, see https://urllib3.readthedocs.org/en/latest/security.html#insecureplatformwarning. 
    Collecting pip 
     Downloading pip-7.1.0-py2.py3-none-any.whl (1.1MB) 
     100% |████████████████████████████████| 1.1MB 181kB/s 
    Installing collected packages: pip 
     Found existing installation: pip 1.4.1 
     Uninstalling pip-1.4.1: 
      Successfully uninstalled pip-1.4.1 
    Successfully installed pip-7.1.0 
    Monas-MacBook-Pro:CS764 mona$ pip --version 
    -bash: /usr/local/bin/pip: /usr/local/opt/python/bin/python2.7: bad interpreter: No such file or directory 

risposta

114

Avevo usato home-brew per installare 2.7 su OS X 10.10 e la nuova installazione mancava i collegamenti simbolici. Mi sono imbattuto

brew link --overwrite python 

, come indicato nel How to symlink python in Homebrew? e risolto il problema.

+5

Questo mi ha salvato. FWIW, ho dovuto fare tre passi per riparare il mio Python su El Capitan: brew install python; brew linkapps python; brew link --overwrite python – Saish

+0

come fare il contrario? – bubakazouba

+0

Grazie mille !!! – Meilbn

27

Suppongo che tu abbia due installazioni python o due installazioni di pip, una delle quali è stata parzialmente rimossa.

Perché usi sudo? Idealmente dovresti essere in grado di installare ed eseguire tutto dal tuo account utente invece di usare root. Se si mescolano insieme root e l'account locale, è più probabile che si verifichino problemi di autorizzazione (ad esempio, vedere l'avvertenza relativa alla "directory principale non è di proprietà dell'utente corrente").

Cosa ottieni se esegui questo?

$ head -n1 /usr/local/bin/pip 

Questo ti mostrerà which python binario pip sta cercando di utilizzare. Se è rivolto /usr/local/opt/python/bin/python2.7, quindi provare a eseguire questo:

$ ls -al /usr/local/opt/python/bin/python2.7 

Se questo dice "No such file or directory", quindi pip sta cercando di utilizzare un binario pitone che è stato rimosso.

Avanti, provate questo:

$ which python 
$ which python2.7 

Per vedere il percorso del binario pitone che è in realtà di lavoro.

Dal momento che sembra che pip sia stato installato correttamente da qualche parte, potrebbe essere che /usr/local/bin/pip fa parte di una vecchia installazione di pip che è più in alto sul PATH. Per verificare che, si può provare a spostare il mancato funzionamento pip binario fuori del modo come questo (potrebbe richiedere sudo):

$ mv /usr/local/bin/pip /usr/local/bin/pip.old 

Quindi provare a eseguire il vostro comando pip --version di nuovo. Spero che raccolga la versione corretta e funzioni correttamente.

+0

grandi spiegazioni. Sidenote: dover eseguire il debug del gestore di pacchetti di una lingua installata per ottenere un progetto senza mercurio è ciò che mi fa perdere la fiducia in tutti quei computer. oops .. E ora per un nuovo errore python "AttributeError local repository" – nicolas

+0

Ho lo stesso problema, ma questo non ha funzionato per me, anche dopo aver seguito queste istruzioni. PIP sta ancora utilizzando un percorso errato. C'è un altro modo per farlo? –

+1

Ho dovuto installare pip: 'sudo/usr/bin/easy_install pip' - Trovato qui: http://stackoverflow.com/questions/27308234/usr-bin-python-vs-opt-local-bin-python2- 7-on-os-x –

9

Ho avuto un problema simile. Fondamentalmente, pip stava cercando in un percorso sbagliato (vecchio percorso di installazione) o python. La seguente soluzione ha funzionato per me:

  • ho controllato dove il percorso pitone è (provate which python)
  • ho controllato la prima riga del file pip (/usr/local/bin/pip2.7 e /usr/local/bin/pip). La linea dovrebbe indicare il percorso corretto per il percorso Python. Nel mio caso, no. L'ho corretto e ora funziona bene.
23

Ho fatto lo stesso errore utilizzando sudo per la mia installazione.(oops)

brew install python 
brew linkapps python 
brew link --overwrite python 

Questo ha riportato tutto alla normalità.

0

Sì. sembra che sia un problema abbastanza frequente. Una soluzione è installata Anaconda3, download Anaconda3-4.2.0-Linux-x86_64.sh e Anaconda3 forniranno python e pip allo stesso tempo e sono coordinati.

6

Nel caso in cui aiuta a chiunque, la soluzione di cui al presente altra questione ha lavorato per me quando pip smesso oggi di funzionare dopo l'aggiornamento è: Pip broken after upgrading

Sembra che si tratta di un problema quando un precedentemente memorizzate nella cache cambia posizione, in modo da poter aggiornare la cache con questo comando:

hash -r 
1

Nel mio caso, ho deciso di rimuovere l'installazione di pitone homebrew dal mio Mac come ho già avuto altre due versioni di Python installato sul mio Mac tramite MacPorts. Ciò ha causato il messaggio di errore.

La reinstallazione di python tramite brew ha risolto il problema.