pip è scomparso per qualche motivo

2

pip andava bene ma oggi, quando ho provato ad usarlo, ho ricevuto questo messaggio:

-bash: pip: command not found

È strano. brew mostra che il pacchetto python da brew è ancora installato, ma ora digitando python nel terminale verrà eseguito per impostazione predefinita sul sistema invece:

~: brew install python
Warning: python 2.7.13_1 is already installed

~: python
Python 2.7.10 (default, Feb  7 2017, 00:08:15) 

Cercando di importare i pacchetti che avevo non funzionava altrettanto bene:

~: python
>>> import cv2
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: No module named cv2
>>> import PIL
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: No module named PIL

Se vado in /usr/local/lib/python2.7/site-packages/ , tutto sembra a posto. Stranamente funziona anche se digito

~: pip2 -V
pip 9.0.1 from /usr/local/lib/python2.7/site-packages (python 2.7)
~: python2
Python 2.7.13 (default, Jul 18 2017, 09:17:00) 
>>> import cv2
>>>

Che cosa posso fare per ottenere pip (e i miei pacchetti)?

    
posta Derek 朕會功夫 29.07.2017 - 01:47
fonte

3 risposte

1

Dopo aver letto la discussione sul perché questo cambio di Homebrew ha avuto luogo e su alcuni dei problemi collegati, mi sembra che il collegamento a "pip" e "python" come hai fatto nella tua risposta potrebbe confondere le cose in futuro. Invece ho seguito i suggerimenti in questi due GH PRs (ed è confermato come la soluzione corretta qui ).

Modifica ~ / .bashrc per contenere:

export PATH="/usr/local/opt/python/libexec/bin:$PATH"

Sto usando virtualenvwrapper e ho anche necessario per modificare ~ /. bash_profile per contenere una riga simile:

export VIRTUALENVWRAPPER_PYTHON=/usr/local/opt/python/libexec/bin/python
    
risposta data 01.08.2017 - 21:42
fonte
1

Sono abbastanza sicuro che la ragione per cui questi collegamenti simbolici sono stati modificati è dovuta agli aggiornamenti homebrew annunciati nella versione 1.3.0:

"The most significant change since 1.2.0 is that brew install python no longer installs a python binary without manual PATH additions and instead installs a python2 binary. This avoids overriding the system python binary by default when installing Python as a dependency. It also paves the way to eventually have python be Python 3.x."

    
risposta data 01.08.2017 - 19:16
fonte
0

L'ho risolto aggiungendo manualmente i collegamenti simbolici:

cd /usr/local/bin
ln -s python2 python
ln -s pip2 pip

Tuttavia, non so ancora perché siano scomparsi, in primo luogo.

    
risposta data 31.07.2017 - 06:33
fonte

Leggi altre domande sui tag