Pip non funziona: ImportError: nessun modulo denominato 'pip._internal'


63

Esecuzione pipo pip3risultati con:

Traceback (most recent call last):
File "/home/myuser/.local/bin/pip", line 7, in <module>
from pip._internal import main
ImportError: No module named 'pip._internal'

Ho avuto problemi con questo e ho disinstallato pip3, ma quando provo a installarlo di nuovo usando

sudo apt-get -y install python3-pip

si installa, ma poi eseguendo pip o pip3 ottengo lo stesso errore.

#which pip3
/home/myuser/.local/bin/pip3

2
Ho un problema simile dopo l'aggiornamento da pip 9.0.2 a pip-10.0.0. Ubuntu 16.04LTS qui.
— Dave,

2
Non è necessario eseguire l'aggiornamento alla pip 10 su Ubuntu, poiché la versione del sistema installata tramite apt è modificata in un modo non compatibile con la pip 10. Vedi github.com/pypa/pip/issues/5221 @Dave
— Byte Commander

macOS 10.13.4, stesso problema dopo l'aggiornamento al pip 10
— Benjamin R

1
Soluzione temporanea:python3 -m pip install --user <package>
— Benjamin R

1
se hai easy_install(viene dal python-setuptoolspacchetto), puoi farlo sudo easy_install pip(o solo sudo easy_install3 pipper python3, ecc.)
— Marek Sebera,

Risposte:


115

Dopo l'aggiornamento pip(o pip3, in questo caso) se si verifica quanto segue:

$ ~ pip3 -V
Traceback (most recent call last):
  File "/usr/local/bin/pip", line 7, in <module>
    from pip._internal import main
ModuleNotFoundError: No module named 'pip._internal'

Forzare una reinstallazione di pip:

curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
python3 get-pip.py --force-reinstall

Verifica installazione:

$ ~ pip3 -V
pip 10.0.1 from /usr/local/lib/python3.6/site-packages/pip (python 3.6)

Ora pip3 install <package>e pip3 install --user <package>(per installazioni a livello di utente) funzionerà correttamente.

Non dovrebbe mai esserci alcun motivo per eseguire pip in modalità elevata.

(nota: per Python 2.7, basta sostituire pythonper python3e pipper pip3)

Ha avuto lo stesso problema anche su macOS, è un problema comune su tutte le piattaforme.


1
funziona bene anche per il lampone
— gtatr

1
lei, signore, è un eroe. ha avuto questo problema con il solus e ha funzionato come un incantesimo.
— cirrusio,

1
Could not install packages due to an EnvironmentError: [Errno 13] Permission denied: '/usr/bin/pip3'
— endolith

1
@endolith Okay, ora vuoi usare sudo rm -rf /usr/bin/pip3- elimina prima quella directory esistente, quindi installa da zero. È un problema di autorizzazioni su quella directory, ma è meglio reimpostare in queste circostanze credo, puoi sempre facilmente reinstallare qualunque pacchetto perdi di nuovo. Se non funziona, esegui anche il Nuke della tua installazione di Python 3, quindi riavvia.
— Benjamin R,

1
@endolith Ciao, dipende da quale sia il tuo sistema operativo (e distro, se Linux). Fammi sapere e proverò a indicarti la giusta direzione. ps Siamo stati tutti nella tua posizione più volte di quanto la maggior parte di noi voglia ammettere :)
— Benjamin R


10

Ho risolto questo aggiornando pip tramite Python, in questo modo:

python2 -m pip install --user --upgrade pip

python3 -m pip install --user --upgrade pip


1
simple and sweet
— lasec0203

2

Ho avuto lo stesso problema proprio ora, ho scoperto che stai lavorando senza il privilegio di superutente poiché alcuni pacchetti o moduli interni di Python sono installati con il privilegio di superutente.

Quindi puoi provare inserendo il pugno sudo su, quindi inserisci la tua password ed esegui pip install, potrebbe aiutare.


3
Non dovresti mai, mai dover correre pipcon autorizzazioni elevate. Usa --userinvece la bandiera, come in:pip3 install --user <package>
— Benjamin R

1
Tuttavia, quando corro senza l'autorizzazione del superutente, ho ancora informazioni come Traceback (ultima chiamata più recente): File "/ usr / local / bin / pip3", linea 7, in <module> \\ da pip._internal import main ImportError: nessun modulo chiamato 'pip._internal' Potresti aiutarmi a capire perché questo accade sempre? pip3 install --user
— Yuke,

2
Ok, ho scoperto perché, se si from pip._internal import mainverifica un errore, nella mia soluzione, 1) curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py2) python3 get-pip.py --user --force-reinstall, e quindi puoi eseguire pipsenza l'autorizzazione del superutente, Grazie mille per il tuo consiglio , aiuta molto!
— Yuke,

Il piacere è tutto mio! Senti, ho imparato a fatica a stare attento sull'uso sudovolente o nolente (distrutto più volte il mio sistema operativo!)
— Benjamin R


2

Applicare questi tre passaggi:

  1. Vai al /usr/local/binterminal
  2. Eseguire sudo gedit pip
  3. Cambia from pip._internal import mainin from pip import main.

1

Controlla se pip è già installato usando

pip3 -V 

o

pip3 --version

In caso contrario, utilizzare questo comando per installarlo:

sudo apt install python3-pip

Ora puoi usare

python3 -m pip install packageName

per installare i pacchetti usando pip.


questo è ciò che OP è già dong.
— Nik O'Lai,

0

La versione pip ora è 19.0.1:

which pip3
#/home/xxx/.local/bin/pip3
vim /home/xxx/.local/bin/pip3

Cambia from pip._internal import maininfrom pip import main

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.