Mai mult
Eroare după actualizarea pip: nu poate importa nume 'principal'
Ori de câte ori eu sunt încercarea de a instala orice pachet folosind pip, primesc aceasta eroare de import:
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())
A fost de lucru bine mai devreme, eu nu sunt sigur de ce se organizează această eroare. Am cautat despre aceasta eroare, dar poate't găsi nimic care să-l repara.
Te rog, lasă-mă să știu dacă aveți nevoie de orice alte detalii, eu va actualiza întrebarea mea.
443
30
Trebuie să aveți accidental un upgrade de sistem pip (probabil prin ceva de genul
sudo pip instala pip --upgrade
)pip 10.x reglează unde sale interne sunt situate. Anii
pip3
ordon're a vedea este una prevăzută de pachetul de întreținere (probabil bazată pe debian aici?) și nu este un fișier gestionat de pip.Puteți citi mai multe despre acest lucru pe pip's issue tracker
Te'll probabil vrei sa nu upgrade-ul dvs. de sistem pip și în loc să folosească o așa.
Pentru a recupera
pip3
binar te'll nevoie pentru asudo python3 -m pip dezinstalare pip && sudo apt instala python3-pip ... reinstalați
.Dacă doriți să continuați în "neacceptat teritoriul" (modernizarea unui pachet de sistem în afara sistemului package manager), probabil, puteți obține departe cu
python3 -m pip ... "în loc de" pip3
.Eroarea poate fi rezolvată prin modificarea pip fișier
Verificați locația fișierului:
Du-te la locația respectivă
/usr/bin/pip
și deschide un terminal.Enter:
$ sudo nano pip
Puteți vedea:
Modificarea:
apoi Ctrl + O scrie modificările și a ieși.
Sper că acest lucru va face!!
Pentru familia Ubuntu, Debian, Linux Mint utilizatori
Datorită Anthony's explicație de mai sus, puteți păstra sistemul original pip (în /usr/bin/ și dist-pachete/) și elimina manual-instalat pip (în ~/.local/) pentru a rezolva conflictul:
$ python3 -m pip dezinstalare pip
Ubuntu/Debian pip v8.1.1 (16.04) dinpython3-pip
pachet debian (a se vedea$ pip3 -V
) arată aceleași rezultate de căutare ca cea mai recentă pip v10.0.1, și instalează cele mai recente module de la PyPI bine. Ea are un lucrupip
comanda (deja în $PATH), plus frumos--utilizatorului opțiunea de patch-uri în mod implicit din 2016. Se uită la [pip note de lansare](https://pip.pypa.io/en/stable/news/), versiunile mai noi sunt în mare parte despre caz de utilizare specifice bug fixat și noi caracteristici, așa că *nu* toată lumea trebuie să se grăbească modernizarea pip încă. Și noi pip 10 poate fi implementat în Python virtualenvs, oricum. Dar, indiferent de sâmburi, sistemul de OPERARE vă permite să instalați rapid comun module Python (inclusiv numpy) cu APT, fără a fi nevoie de pip, de exemplu:
$ sudo apt instala python3-numpy python3-scipy(cu sistem de dependențe)
$ sudo apt instala python3-pip` (Debian-patch-uri pip, puțin mai în vârstă, dar nu't contează)P. S. Toate cele de mai sus este pentru 'ideal' soluție (Debian/Ubuntu). Dacă încă doriți să utilizați noul pip3 v10 exclusiv, sunt 3 rapid soluții:
bash
) - și pip3 v10 devine disponibil (a se vedeapip3 -V
). debian's pip3 v8 rămâne instalat, dar este rupt; sau$ hash -d pip3 && pip3 -V
pentru a reîmprospăta pip3 pathname în $PATH. debian's pip3 v8 rămâne instalat, dar este rupt; sau$ sudo apt de a elimina python3-pip && hash -d pip3
pentru a dezinstala debian's pip3 v8 complet, în favoarea noul pip3 v10. Notă: Veți avea nevoie întotdeauna să adaug--user
flag pentru orice non-debian-cu condiția pip, dacă nu sunt într-o așa! (se desfășoară pachetele python pentru a~/.local/
, default în debian/ubuntu-cu condiția python3-pip și python-pip începând cu 2016). Utilizarea pip 10 la nivel de sistem, în afara așa, nu este într-adevăr susținut de Ubuntu/Debian. Nusudo pip3
! Mai multe detalii: https://github.com/pypa/pip/issues/5221#issuecomment-382069604 https://github.com/pypa/pip/issues/5240#issuecomment-381673100rezolvate intr-un singur pas.
Nu prea confruntat cu această problemă, Dar acest lucru poate fi rezolvat prin simpla 1 comandă, fără a deranja în jurul și de a pierde timp si am incercat pe mai multe sisteme it's cea mai curată soluție pentru această problemă. Și că's:
Pentru python3:-
sudo python3 -m pip dezinstalare pip && sudo apt instala python3-pip ... reinstalați
.Prin aceasta , puteți pur și simplu instalați pachete folosind
pip3
. pentru a verifica utilizareapip3 --version
.Pentru versiunile mai vechi, utilizare: sudo python -m pip dezinstalare pip && sudo apt install python-pip ... reinstalați`.
De asta, acum puteți pur și simplu instalați pachete folosind
pip
. pentru a verifica utilizareapip --version
.Folosi python -m pip instala "în loc de" pip instala`
Exemplu:
Anii
pip
(resp.pip3
) executabil este oferit de distribuție (python-pip
pachet pe Ubuntu 16.04) și situat în/usr/bin/pip
.Prin urmare, acesta nu este ținut la curent cu
pip
pachetul în sine, ca upgrade pip, și se poate rupe.Dacă utilizați doar
python -m pip
direct, de exemplu, ca în:se trece prin calea Python și găsește cea mai recentă versiune a pip, și execută fișierul.
Ea se bazează pe faptul că fișierul este executabil prin "import", dar că este un tip standard de interfață, și, prin urmare, mai puțin probabil pentru a rupe decât hackier Debian script.
Apoi m-am recomandăm să adăugați următoarele pseudonime pentru a ta
.bashrc
:Testat în Ubuntu 16.04 după o actualizare de pip3` 9.0.1 la 18.0.
Puteți rezolva această problemă prin reinstalarea pip.
Utilizați una dintre următoarele comenzi de linie de comandă pentru a reinstala pip:
Python2:
Python3:
Verificați dacă pip a fost memorate în cache pe o altă cale, pentru a face acest lucru, apel $ care pip și verificați că drumul este diferit față de cel determinat în eroare, în cazul în care's cazul rula:
Atunci când cache-ul este clar, pip va fi din nou de lucru. referință: http://cheng.logdown.com/posts/2015/06/14/-usr-bin-pip-no-such-file-or-directory
Am'm execută pe un sistem unde am sudo apt, dar nu sudo pip. (Și nu su acces.) Am intrat și eu în aceeași situație urmând sfatul din pip:
Nici unul dintre alte remedieri lucrat pentru mine, pentru că eu nu't au suficiente privilegii de administrator. Cu toate acestea, câteva lucruri au ramas cu mine de lectură pe asta:
Deci, am găsit această linie de comandă pentru a lucra pentru a reveni de unde am fost. Dacă ați fost utilizați o versiune diferită decât 8.1.1, evident că va dori să schimbe acea parte a liniei.
Ca's singurul lucru care a lucrat pentru mine, dar a functionat perfect!
Recupera cu python3 -m pip instala-utilizatorul pip==9.0.1` (sau versiunea care a lucrat)
Același lucru mi s-a întâmplat pe Pixelbook folosind noua LXC (strech). Această soluție este foarte asemănătoare cu cea a acceptat, cu o diferență subtilă, whiched fix pip3 pentru mine.
Asta l-a lovit versiunea, și acum funcționează cum era de așteptat.
Am găsit-o aici ... Python.org: a se Asigura pip este up-to-date
Am întâlnit aceeași problemă pe Ubuntu 16.04 sistem. Am reușit să-l repara prin re-instalarea pip cu următoarea comandă:
curl https://bootstrap.pypa.io/get-pip.py | sudo python3
Comenzile de mai sus n't de lucru pentru mine, dar alea au fost foarte utile:
În ubuntu 18.04.1 Bionic Castor, aveți nevoie să vă conectați și să vă autentificați (repornire nu este necesar) pentru a obține un mediu adecvat.
Eu folosesc sudo apt de a elimina python3-pip
apoi
pip` funcționează.Pentru versiunea Python 2.7 @Anthony soluție funcționează perfect, prin schimbarea python3 a python, după cum urmează:
Ceea ce a funcționat pentru mine pentru a rezolva eroarea cu ajutorul
pip3
a fost:sudo cp-v /usr/local/bin/pip3 /usr/bin/pip3
Totul funcționează:
Poate noua versiunea 10.0.1 de pip nu't actualizare binar în /usr/bin ? (care se pare ca nu)
EDIT: aceeași problemă apare în Ubuntu 18.04. Cea mai bună soluție I'am găsit-o este să symlink pip binare de la
/home/<user/.local/bin
pentru a/usr/local/bin " sau " /usr/bin
(în funcție de preferințele dumneavoastră), după cum urmează:``bash ln-sv /home//.local/bin/pip /usr/local/bin/pip ln-sv /home//.local/bin/pip2 /usr/local/bin/pip2 ln-sv /home//.local/bin/pip2.7 /usr/local/bin/pip2.7 ln-sv /home//.local/bin/pip3 /usr/local/bin/pip3 ln-sv /home//.local/bin/pip3.6 /usr/local/bin/pip3.6
`
**NOTĂ:** înlocuiți
cu funcționare curentă a utilizatoruluiAsociate versiuni (mai recente) sunt în:
Versiunea 3.6:
/home/demon/.local/lib/python3.6/site-pachete/pip (python 3.6)
Versiunea 2.7:
/home/demon/.local/lib/python2.7/site-pachete/pip (python 2.7)
Vă rugăm să rulați următoarele comenzi pentru a face reparatii. După rularea
python3 -m pip instala --upgrade pip
, vă rugăm să executați următoarea comandă.Sursa: https://github.com/pypa/pip/issues/5221
Truc și funcționează prea
Am avut aceeasi eroare, dar
python -m pip
a fost încă de lucru, asa ca am reparat-o cu opțiunea nuclearăsudo python -m pip instala --upgrade pip
. A făcut-o pentru mine.Pentru ce-l's valoare, eu am avut problema cu
pip
(nupip2 " sau " pip3
):Cumva (nu pot't amintesc cum) am avut python instalat în~/.locale
director. Dupa ce am scos pip directorul de acolo,
pip` a început să lucreze din nou.