Daugiau
Klaida po pip atnaujinimo: negalima importuoti vardo 'main'
Kai bandau įdiegti bet kokį paketą naudodamas pip, gaunu šią importo klaidą:
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())
Anksčiau jis veikė gerai, nesu tikras, kodėl jis išmeta šią klaidą. Ieškojau informacijos apie šią klaidą, bet nieko neradau, kaip ją ištaisyti.
Praneškite man, jei reikia išsamesnės informacijos, atnaujinsiu savo klausimą.
443
3
Turbūt netyčia atnaujinote savo sistemos pip (tikriausiai per kažką panašaus į
sudo pip install pip --upgrade
)pip 10.x pakoreguoja savo vidinių funkcijų vietą.
pip3
komanda, kurią matote, yra jūsų paketų prižiūrėtojo (tikriausiai debian pagrindu?) pateikta komanda, o ne pip valdomas failas.Daugiau apie tai galite paskaityti pip's issue tracker
Tikriausiai norėsite neatnaujinti savo sistemos pip, o naudoti virtualenv.
Norėdami atkurti
pip3
dvejetainį failą, turėsitesudo python3 -m pip uninstall pip && sudo apt install python3-pip --reinstall
.Jei norite tęsti darbą "nepalaikomoje teritorijoje" (atnaujinti sistemos paketą ne per sistemos paketų tvarkyklę), tikriausiai galite išsisukti su
python3 -m pip ...
vietojpip3
.Patikrinkite, ar pip buvo įrašytas į talpyklą kitame kelyje, tam iškvieskite $ which pip ir patikrinkite, ar kelias skiriasi nuo klaidoje nurodyto kelio, jei taip, paleiskite:
Kai talpykla bus išvalyta, pip vėl veiks. nuoroda: http://cheng.logdown.com/posts/2015/06/14/-usr-bin-pip-no-such-file-or-directory
Aš naudoju
sudo apt remove python3-pip
, tadapip
veikia.