Altro
Errore dopo l'aggiornamento di pip: impossibile importare il nome 'main'
Ogni volta che cerco di installare qualsiasi pacchetto usando pip, ottengo questo errore di importazione:
guru@guru-notebook:~$ pip3 install numpy
Traceback (most recent call last):
File "/usr/bin/pip3", line 9, in <module>
from pip import main
ImportError: cannot import name 'main'
br>
guru@guru-notebook:~$ cat `which pip3`
#!/usr/bin/python3
# GENERATED BY DEBIAN
import sys
# Run the main entry point, similarly to how setuptools does it, but because
# we didn't install the actual entry point from setup.py, don't use the
# pkg_resources API.
from pip import main
if __name__ == '__main__':
sys.exit(main())
Prima funzionava bene, non sono sicuro del perché stia lanciando questo errore. Ho cercato questo errore, ma non riesco a trovare nulla per risolverlo.
Per favore fatemi sapere se avete bisogno di ulteriori dettagli, aggiornerò la mia domanda.
443
3
Devi aver inavvertitamente aggiornato il tuo sistema pip (probabilmente attraverso qualcosa come
sudo pip install pip --upgrade
)pip 10.x regola dove si trovano i suoi interni. Il comando
pip3
che stai vedendo è un comando fornito dal tuo manutentore di pacchetti (presumibilmente basato su debian qui?) e non è un file gestito da pip.Puoi leggere di più su questo su pip'issue tracker
Probabilmente vorrete non aggiornare il vostro sistema pip e usare invece un virtualenv.
Per recuperare il binario
pip3
avrete bisogno disudo python3 -m pip uninstall pip && sudo apt install python3-pip --reinstall
.Se vuoi continuare in "territorio non supportato" (aggiornando un pacchetto di sistema al di fuori del gestore dei pacchetti di sistema), puoi probabilmente cavartela con
python3 -m pip ...
invece dipip3
.Controllare se pip è stato memorizzato nella cache su un altro percorso, per farlo, chiamare $ che pip e controllare che il percorso sia diverso da quello richiesto nell'errore, se è così eseguire:
Quando la cache sarà cancellata, pip tornerà a funzionare. riferimento: http://cheng.logdown.com/posts/2015/06/14/-usr-bin-pip-no-such-file-or-directory
Uso
sudo apt remove python3-pip
poipip
funziona.