Errore dopo l'aggiornamento del pip: impossibile importare il nome 'principale'


467

Ogni volta che sto cercando di installare qualsiasi pacchetto usando pip, ricevo 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'


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())

Stava funzionando bene prima, non sono sicuro del motivo per cui sta generando 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.


1
Discussione aggiuntiva a questo link .
Diagon,

7
Ho avuto lo stesso problema perché ero solito pip install --upgrade pipaggiornare pip su un server in cui non avevo i privilegi di amministratore. Disinstallare pip con python -m pip uninstall piprisolto il mio problema.
Foad,

Le risposte non mi hanno aiutato. Questo era il mio problema: github.com/pypa/pipenv/issues/2095
Étienne

Risposte:


846

Devi aver inavvertitamente aggiornato il tuo pip di sistema (probabilmente attraverso qualcosa di simile sudo pip install pip --upgrade)

pip 10.x regola la posizione dei suoi interni. Ilpip3 comando visualizzato è quello fornito dal manutentore del pacchetto (presumibilmente basato su Debian qui?) E non è un file gestito da pip.

Puoi leggere di più al riguardo sul tracker dei problemi di pip

Probabilmente vorrai non aggiornare il tuo pip di sistema e invece utilizzare un virtualenv.

Per recuperare il pip3binario dovrai farlo sudo 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), probabilmente puoi cavartela python3 -m pip ...invece di pip3.


28
sudo apt install python3-pip --reinstallnon ha risolto il problema, tuttavia posso installare il pacchetto usando python3 -m pip. Grazie per l'aiuto. Lo sto contrassegnando come accettato.
g_p,

2
@g_p ha aggiornato le indicazioni "fixup" - le ho appena verificate nella finestra mobile (avrei dovuto farlo la prima volta!)
Anthony Sottile

6
Ho bisogno di usare il comando 'python -m pip uninstall pip' poiché 'sudo pip uninstall pip' ha dato un errore simile alla domanda originale
Mz A

41
Grazie! Questo ha aiutato! Utilizzare sudo python -m pip uninstall pip && sudo apt install python-pip --reinstallper python2!
Barmaley,

1
Funziona per Ubuntu su Windows. La soluzione è ciò che @Barmaley suggerisce per python2 (l'interprete predefinito di Python).
jdhao,

111

Possiamo cancellare l'errore modificando il file pip.

Controlla la posizione del file:

$ which pip

percorso -> / usr / bin / pip

Vai a quella posizione ( / usr / bin / pip ) e apri il terminale

Accedere: $ sudo nano pip

Puoi vedere:

import sys
from pip import main
if __name__ == '__main__':
     sys.exit(main())

Passare a:

import sys
from pip import __main__
if __name__ == '__main__':
     sys.exit(__main__._main())

quindi ctrl + o scrivere le modifiche ed uscire

Spero che questo lo farà !!


1
Apportare queste modifiche non ha risolto il problema, ma è stato ripristinato il testo originale. ¯_ (ツ) _ / ¯
David

2
Ci ho provato, ma ho ricevutoAttributeError: module 'pip.__main__' has no attribute 'main'
dnnagy il

4
Assicurati di aver scritto _main () not main ()
vijay athithya il

2
nell'ultima versione pip3, main()viene spostato in pip._internal. La dichiarazione di importazione dovrebbe essere cambiata infrom pip._internal import main
Yossarian42

2
Ha funzionato come un fascino! Grazie
mahesh nanayakkara,

69

Per gli utenti della famiglia Ubuntu, Debian, Linux Mint

Grazie alla spiegazione di Anthony sopra , è possibile conservare il pip di sistema originale (in / usr / bin / e dist-pacchetti /) e rimuovere il pip installato manualmente (in ~ / .local /) per risolvere il conflitto:

$ python3 -m pip uninstall pip

Ubuntu / Debian pip v8.1.1 (16.04) dal python3-pippacchetto debian (vedi $ pip3 -V) mostra gli stessi risultati di ricerca dell'ultimo pip v10.0.1 e installa gli ultimi moduli di PyPI bene. Ha un pipcomando funzionante (già nel $ PATH), oltre alla simpatica --useropzione rattoppata di default dal 2016. Osservando le note di rilascio di pip , le versioni più recenti riguardano principalmente correzioni di bug specifiche del caso d'uso e alcune nuove funzionalità, quindi non tutti devono affrettarsi ad aggiornare pip ancora. E comunque il nuovo pip 10 può essere distribuito su virtualenvs Python.

Ma indipendentemente dai pips, il tuo sistema operativo consente di installare rapidamente moduli Python comuni (incluso numpy) con APT, senza la necessità di pip, ad esempio:
$ sudo apt install python3-numpy python3-scipy(con dipendenze del sistema)
$ sudo apt install python3-pip(pip con patch Debian, leggermente più vecchio ma non importa)

Promemoria sintassi apt rapido (vedere man aptper i dettagli):
$ sudo apt update(per risincronizzare i file dell'indice dei pacchetti Ubuntu da fonti aggiornate)
$ apt search <python-package-name> (ricerca di testo completa su tutti i pacchetti disponibili)
$ apt show <python-package-name>(visualizza la descrizione dettagliata del pacchetto)
$ sudo apt install <python-package-name>

I nomi dei pacchetti con il prefisso python-sono per Python 2; e preceduto da python3-sono per Python 3 (ad esempio python3-panda). Ce ne sono migliaia e sono sottoposti a test di integrazione all'interno di Debian e Ubuntu. A meno che non si cerchi di installare a livello di utente ( pip install --useropzione) o in virtualenv / venv, apt potrebbe essere quello che cercavi. Questi pacchetti di sistema sono accessibili anche da envs virtuali, poiché virtualenv tornerà con grazia all'uso delle librerie di sistema durante l'importazione se i vostri envs non hanno fornito copie dei moduli. Anche --useri moduli per utente installati (con pip ) personalizzati ~/.local/libverranno sovrascritti.

Nota, poiché si tratta di un'installazione a livello di sistema , raramente dovrai rimuoverli (devi essere consapevole delle dipendenze del sistema operativo). Questo è conveniente per i pacchetti con molte dipendenze di sistema (come con scipy o matplotlib), poiché APT terrà traccia e fornirà tutte le librerie di sistema richieste e le estensioni C, mentre con pip non hai tali garanzie .

In effetti, per i pacchetti Python a livello di sistema (al contrario di per utente, livello dir home o inferiore), Ubuntu prevede di utilizzare il gestore pacchetti APT (anziché sudo pip) per evitare la rottura del sistema operativo: ha come sudo pip3target la stessa /usr/lib/python3/dist-packagesdirectory in cui APT memorizza il sistema operativo moduli sensibili. Le recenti versioni di Debian / Ubuntu dipendono fortemente da Python 3, quindi i suoi moduli preinstallati sono gestiti apte non dovrebbero essere modificati.

Quindi, se usi il pip3 installcomando, assicurati che venga eseguito in un ambiente di sviluppo virtuale isolato, ad esempio con virtualenv ( sudo apt install python3-virtualenv) o con Python3 incorporato ( -m venv) o a livello di utente ( --useropzione pip, impostazione predefinita in Ubuntu fornita pip dal 2016), ma non a livello di sistema (mai sudo pip3!), poiché pip interferisce con il funzionamento del gestore pacchetti APT e può influire sui componenti del sistema operativo Ubuntu quando un modulo python utilizzato dal sistema viene inaspettatamente modificato. In bocca al lupo!


P. S. Tutto quanto sopra è per la soluzione 'ideale' (modo Debian / Ubuntu).

Se si desidera ancora utilizzare esclusivamente la nuova pip3 v10, sono disponibili 3 soluzioni rapide:

  • apri semplicemente una nuova sessione bash (una nuova scheda terminale o tipo bash) e pip3 v10 diventa disponibile (vedi pip3 -V). debian's pip3 v8 rimane installato ma è rotto; o
  • il comando $ hash -d pip3 && pip3 -V per aggiornare il percorso pip3 nel $ PATH. debian's pip3 v8 rimane installato ma è rotto; o
  • il comando $ sudo apt remove python3-pip && hash -d pip3per disinstallare completamente pipian v8 di debian, a favore del nuovo pip3 v10.

Nota: dovrai sempre aggiungere --userflag a qualsiasi pip non fornito da Debian, a meno che tu non sia in virtualenv! (distribuisce i pacchetti python su ~/.local/, impostazione predefinita in python3-pip e python-forniti da debian / ubuntu dal 2016). L'uso di pip 10 a livello di sistema, al di fuori di virtualenv, non è realmente supportato da Ubuntu / Debian. Mai sudo pip3!

Ulteriori dettagli:
https://github.com/pypa/pip/issues/5221#issuecomment-382069604
https://github.com/pypa/pip/issues/5240#issuecomment-381673100


Potete aiutarmi a capire perché l'installazione di una versione aggiornata di pip localmente con --user, cioè senza sudo, influisce sulla mia capacità di eseguire apt installato pip? Pensavo che i due sarebbero coesistiti. Ma come questo esempio mostra l'app apt installato si interrompe dopo di me python3 -m pip install --user --upgrade pip. Non sto cercando una soluzione, sono solo sinceramente curioso di capire cosa sta succedendo qui.
George Hawkins,

1
@George Succede a causa della mancata corrispondenza tra le librerie di pip e i suoi wrapper che le importano. Il tentativo di eseguire immediatamente il comando pip di sistema (senza applicare nessuna delle soluzioni ) chiamerebbe comunque la versione di sistema installata apt dello script del wrapper pip /usr/bin/pip3anziché quella installata come --user( ~/.local/bin/pip*) in base al sistema operativo $ PATH che è ancora impostato per eseguire il versione di sistema del wrapper, ma non delle sue librerie ..
Alex C.

2
@George Questo perché ora è installato un pacchetto pip più recente a ~/.local/lib/python3.?/site-packages/pipcui ha la precedenza su un sistema rispetto a quello delle importazioni Python relative (il sito locale dell'utente ha la priorità sulle librerie globali). E poiché il wrapper più vecchio tenta from pip import mainpiuttosto che la from pip._internalsua __main__classe rispetto alla versione più recente del pacchetto pip, il comando pip dal gist fallisce ImportError: cannot import name 'main'. Quindi entrambi i pips possono coesistere (sul disco) ma la funzionalità del sistema originale sarà "rotta" ..
Alex C.

+1 per --user. pip install --userè quello che ha fatto per me. (Ho Python 2.7, Python 3.6 e Python 3.7, tutti installati su Ubuntu 18.04 LTS.)
Stephen G Tuggy,

46

risolto in un solo passaggio.

Anch'io ho affrontato questo problema, ma questo può essere risolto semplicemente con 1 comando senza preoccuparsi e perdere tempo e l'ho provato su più sistemi, è la soluzione più pulita per questo problema. E questo è:

Per python3: - sudo python3 -m pip uninstall pip && sudo apt install python3-pip --reinstall.

Con questo, puoi semplicemente installare i pacchetti usando pip3. per controllare l'uso pip3 --version.

Per le versioni più vecchie, utilizzare: sudo python -m pip uninstall pip && sudo apt install python-pip --reinstall.

Con questo, ora puoi semplicemente installare i pacchetti usando pip. per controllare l'uso pip --version.


31

Usa python -m pip installinvece dipip install

Esempio:

python -m pip install --user somepackage
python3 -m pip install --user somepackage

L' eseguibile pip(resp. pip3) È fornito dalla tua distribuzione ( python-pippacchetto su Ubuntu 16.04) e si trova in /usr/bin/pip.

Pertanto, non viene aggiornato con il pippacchetto stesso durante l'aggiornamento del pip e potrebbe non funzionare.

Se lo usi python -m pipdirettamente, ad es. Come in:

python -m pip install --user somepackage
python3 -m pip install --user somepackage

passa attraverso il tuo percorso Python, trova l'ultima versione di pip ed esegue quel file.

Si basa sul fatto che il file è eseguibile tramite import, ma si tratta di un tipo di interfaccia molto standard e quindi meno probabile che si rompa rispetto allo script hacker Debian.

Quindi ti consiglio di aggiungere i seguenti alias al tuo .bashrc:

pip() ( python -m pip "$@" )
pip3() ( python3 -m pip "$@" )

Il /usr/bin/pip3file Ubuntu 18.04 fa:

from pip import main

e presumibilmente è mainstato rimosso da un pipcerto punto che è ciò che ha rotto le cose.

Il commit del pip interrotto sembra essere: 95bcf8c5f6394298035a7332c441868f3b0169f4 "Sposta tutte le API interne in pip._internal" che è andato nel pip 18.0.

Testato in Ubuntu 16.04 dopo un aggiornamento dalla pip39.0.1 alla 18.0.

pyenv

Alla fine, tuttavia, per un serio sviluppo di Python ti consiglio di installare il tuo Python locale con pyenv + virtualenv, che aggirerebbe anche questo bug di Ubuntu: /ubuntu/682869/how-do-i- install-un-altro-python-versione-con-apt-get / 1195153 # 1195153


3
dopo 5 ore di ricerca, questo ha funzionato per me. posso consegnarti un fiore se mi mandi il tuo indirizzo. grazie.
cagri,

18

È possibile risolvere questo problema reinstallando pip.

Utilizzare uno dei seguenti comandi da riga di comando per reinstallare pip:

python2:

python -m pip uninstall pip && sudo apt install python-pip --reinstall

python3:

 python3 -m pip uninstall pip && sudo apt install python3-pip --reinstall


8

Sono in esecuzione su un sistema in cui ho sudo apt ma nessun sudo pip. (E nessun accesso su.) Mi sono trovato in questa stessa situazione seguendo i consigli di pip:

Stai usando pip versione 8.1.1, tuttavia 18.0 è disponibile. Si dovrebbe prendere in considerazione l'aggiornamento tramite il comando 'pip install --upgrade pip'.

Nessuna delle altre correzioni ha funzionato per me, perché non ho abbastanza privilegi di amministratore. Tuttavia, alcune cose mi sono rimaste bloccate dalla lettura di questo:

  • Non avrei dovuto farlo. Certo, mi ha detto Pip. Ha mentito.
  • L'uso di --user risolve molti problemi concentrandosi sulla directory di solo utente.

Quindi, ho trovato questa riga di comando funzionante per riportarmi dove ero. Se stavi usando una versione diversa dalla 8.1.1, ovviamente vorrai cambiare quella parte della linea.

python -m pip install --force-reinstall pip==8.1.1 --user

Questa è l'unica cosa che ha funzionato per me, ma ha funzionato perfettamente!


7

Ripristina con python3 -m pip install --user pip==9.0.1(o la versione che ha funzionato)


5

La stessa cosa mi è successa su Pixelbook usando il nuovo LXC (strech). Questa soluzione è molto simile a quella accettata, con una sottile differenza, che mi ha fissato pip3 fisso.

sudo python3 -m pip install --upgrade pip

Ciò ha ostacolato la versione e ora funziona come previsto.

L'ho trovato qui ... Python.org: assicurarsi che pip sia aggiornato


4

Ho riscontrato lo stesso problema sul mio sistema Ubuntu 16.04. Sono riuscito a risolverlo reinstallando pip con il seguente comando:

curl https://bootstrap.pypa.io/get-pip.py | sudo python3


Ha il vantaggio di installarlo dal sorgente e nessuno dei precedenti ha funzionato su un Debian 9 pulito (dal mio fornitore di server dedicato)
Peter Rosemann,

curling internet to super user, cosa potrebbe andare storto!
Sum1sAdmin,

3

I comandi sopra non hanno funzionato per me, ma quelli sono stati molto utili:

sudo apt purge python3-pip
sudo rm -rf '/usr/lib/python3/dist-packages/pip'  
sudo apt install python3-pip
cd
cd .local/lib/python3/site-packages
sudo rm -rf pip*  
cd
cd .local/lib/python3.5/site-packages
sudo rm -rf pip*  
sudo pip3 install jupyter

2

In Ubuntu 18.04.1 Bionic Beaver, è necessario disconnettersi e riconnettersi (riavvio non necessario) per ottenere l'ambiente corretto.

$ sudo apt install python-pip

$ pip --version
pip 9.0.1 from /usr/lib/python2.7/dist-packages (python 2.7)

$ pip install --upgrade pip

$ pip --version
Traceback (most recent call last):
  File "/usr/bin/pip", line 9, in <module>
    from pip import main
ImportError: cannot import name main

$ exit
<login>

$ pip --version
pip 18.1 from /home/test/.local/lib/python2.7/site-packages/pip (python 2.7)

1

Io uso sudo apt remove python3-pip quindi pipfunziona.

 ~ sudo pip install pip --upgrade
[sudo] password for sen: 
Traceback (most recent call last):
  File "/usr/bin/pip", line 9, in <module>
    from pip import main
ImportError: cannot import name 'main'
  ~ sudo apt remove python3-pip   
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following packages were automatically installed and are no longer required:
  libexpat1-dev libpython3-dev libpython3.5-dev python-pip-whl python3-dev python3-wheel
  python3.5-dev
Use 'sudo apt autoremove' to remove them.
The following packages will be REMOVED:
  python3-pip
0 upgraded, 0 newly installed, 1 to remove and 0 not upgraded.
After this operation, 569 kB disk space will be freed.
Do you want to continue? [Y/n] y
(Reading database ... 215769 files and directories currently installed.)
Removing python3-pip (8.1.1-2ubuntu0.4) ...
Processing triggers for man-db (2.7.5-1) ...
  ~ pip

Usage:   
  pip <command> [options]

1
È perché pipè per Python 2. OP utilizza pip3, la versione di Python 3 pip, che hai appena rimosso. Questi due sono distinti e non intercambiabili.
Neinstein,

1

Per Python versione 2.7 la soluzione @Anthony funziona perfettamente, cambiando python3 in python come segue:

sudo python -m pip uninstall pip && sudo apt install python-pip --reinstall

1

Ciò che ha funzionato per me per correggere l'errore con l'utilizzo pip3era:

sudo cp -v /usr/local/bin/pip3 /usr/bin/pip3

Tutto funziona:

 demon@UbuntuHP:~$ pip -V
 pip 10.0.1 from /usr/local/lib/python3.5/dist-packages/pip (python 3.5)

 demon@UbuntuHP:~$ pip2 -V
 pip 10.0.1 from /home/demon/.local/lib/python2.7/site-packages/pip (python 2.7)

 demon@UbuntuHP:~$ pip3 -V
 pip 10.0.1 from /usr/local/lib/python3.5/dist-packages/pip (python 3.5)

Forse la nuova versione 10.0.1 di pip non aggiorna il file binario in / usr / bin? (che sembra non farlo)

EDIT: lo stesso problema si verifica in Ubuntu 18.04. La soluzione migliore che ho trovato è quello di link simbolico i binari pip da /home/<user/.local/bina /usr/local/bino /usr/bin(a seconda delle preferenze), come segue:

ln -sv /home/<user>/.local/bin/pip /usr/local/bin/pip
ln -sv /home/<user>/.local/bin/pip2 /usr/local/bin/pip2
ln -sv /home/<user>/.local/bin/pip2.7 /usr/local/bin/pip2.7
ln -sv /home/<user>/.local/bin/pip3 /usr/local/bin/pip3
ln -sv /home/<user>/.local/bin/pip3.6 /usr/local/bin/pip3.6

NOTA: sostituire <user> con l'utente corrente in esecuzione

Le versioni associate (le più recenti) sono in:

Versione 3.6:

/home/demon/.local/lib/python3.6/site-packages/pip (python 3.6)

Versione 2.7:

/home/demon/.local/lib/python2.7/site-packages/pip (python 2.7)


Questo ha risolto il mio problema. Le altre risposte no.
Amin Husni,

1
In realtà non dovresti fare casini direttamente con i file /usr/bin. E, hai PATHtorto se /usr/local/binnon è prima /usr/bin.
Tripleee,

Il binario pip non esiste /usr/local/bin. È solo nelle /home/<user>/.local/bine / o /home/<user>/.local/lib/python<version>/site-packages/pipnelle nuove versioni (v10.0 + non aggiorna il file binario in /usr/bin). Da qui il motivo per cui è necessario creare una copia o un collegamento simbolico del file binario in /usr/bino /usr/local/bin(a seconda delle preferenze dell'utente) in modo che pip possa essere eseguito globalmente dalla riga di comando.
Cryptoboy,

I binari della directory pip esistono e dovrebbero essere collegati / copiati da: demon @ Bionic18: ~ / .local / bin $ ls pip pip2 pip2.7 pip3 pip3.6 Il pipvalore predefinito binario è l'ultima versione installata sul sistema
cryptoboy


0

Ho avuto lo stesso errore, ma python -m pipfunzionava ancora, quindi l'ho risolto con l'opzione nucleare sudo python -m pip install --upgrade pip. Lo ha fatto per me.


0

Per quello che vale, ho avuto il problema con pip(no pip2o pip3):

$ pip -V
Traceback (most recent call last):
  File "/usr/bin/pip", line 9, in <module>
    from pip import main
ImportError: cannot import name main

$ pip2 -V
pip 8.1.1 from /usr/lib/python2.7/dist-packages (python 2.7)

$ pip3 -V
pip 8.1.1 from /usr/lib/python3/dist-packages (python 3.5)

In qualche modo (non ricordo come) avevo roba Python installata nella mia ~/.localdirectory. Dopo aver rimosso la directory pip da lì, ho pipiniziato a lavorare di nuovo.

$ rm -rf /home/precor/.local/lib/python2.7/site-packages/pip
$ pip -V
pip 8.1.1 from /usr/lib/python2.7/dist-packages (python 2.7)


0

Puoi provare questo:

sudo ln -sf $( type -P pip ) /usr/bin/pip

3
Sebbene questo codice possa rispondere alla domanda, sarebbe meglio includere un certo contesto, spiegando come funziona e quando usarlo. Le risposte di solo codice non sono utili a lungo termine.
Giulio Caccin,

0

Ho anche pip pip3riscontrato questo problema quando volevo aggiornare il sistema da 9.0.1 a 19.2.3.

Dopo l'esecuzione pip3 install --upgrade pip, la pipversione diventa 19.2.3. Ma main()è stato spostato pip._internalnell'ultima versione, che lascia pip3rotto.

Quindi, nel file /usr/bin/pip3, sostituire line 9: from pip import maincon from pip._internal import main. Il problema verrà risolto, funziona allo stesso modo per python2-pip. (Testato sulla distribuzione Ubuntu 18.04)

Secondo la risposta di @Vincent H.



0

puoi semplicemente correggere i percorsi pip e pip3 usando update-alternatives

la prima cosa che dovresti controllare è la tua $PATH corsa attuale echo $PATHe vedere è che puoi trovare /usr/local/bindov'è di solito pip3 e pip

c'è un cambiamento che il tuo sistema sta guardando qui /bin/pipe /bin/pip3 quindi dirò correggere il PERCORSO aggiungendo al tuo~/.bash_profile file in modo che persista

export PATH=$PATH:/usr/local/bin e poi check è riparato con which pipewhich pip3

in caso contrario, utilizzare update-alternativesper risolverlo infine

update-alternatives --install /bin/pip3 pip3 /usr/local/bin/pip3 30

e se vuoi puntare pip su pip3 allora

update-alternatives --install /bin/pip pip /usr/local/bin/pip3 30

0

Questo ha funzionato per me!

hash -r pip # or hash -d pip

Ora, disinstallare la versione installata pip e reinstallarla usando i seguenti comandi.

python -m pip uninstall pip  # sudo
sudo apt install --reinstall python-pip

Se il pip è rotto, usare:

python -m pip install --force-reinstall pip

Spero che sia d'aiuto!


-1

importa main da pip._internal

from pip._internal import main

Modifica il codice pip da

sudo nano /usr/bin/pip3

Puoi modificare la risposta e specificarla meglio? Non è molto chiaro come modificare il file /usr/bin/pip3...
M. Volf,

-1

Come diceva @cryptoboy, controlla quale versione di pip / python hai installato

 demon@UbuntuHP:~$ pip -V
 demon@UbuntuHP:~$ pip2 -V
 demon@UbuntuHP:~$ pip3 -V

e quindi controlla le librerie non necessarie nella tua cartella .local / lib /.

Ho eseguito il backup delle impostazioni durante la migrazione alla nuova Kubuntu e nella mia cartella .local / lib / python2.7 /. Python installato 3.6. Ho appena rimosso la vecchia cartella e ora tutto funziona alla grande!


-1

Su Debian dovrai prima aggiornare apt ....

sudo apt-get update -qq
sudo apt-get install python-pip -qq
sudo pip install pip --upgrade --quiet
sudo pip2 install virtualenv --quiet

Se salti 'sudo apt-get update -qq' il tuo pip diventerà corrotto e visualizzerà l'errore 'Impossibile trovare principale'.


-1

Questo errore può essere permesso. Quindi, prova ad eseguire il comando con -H flag:

sudo -H pip3 install numpy

la domanda dice chiaramente che ImportError non è un errore di autorizzazione
Anthony Sottile,

-1

Utilizzare il comando seguente prima di eseguire qualsiasi comando pip

hash -d pip

Funzionerà


1
Potresti forse chiarire come sarà d'aiuto / + rimuovere qualsiasi commento condiscendente?
elfo
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.