Početna
» Osnovno znanje
»
Kako popraviti ModuleNotFoundError: Nema modula pod nazivom 'pip' u Pythonu 3
Kako popraviti ModuleNotFoundError: Nema modula pod nazivom 'pip' u Pythonu 3
ModuleNotFoundError: No module named 'pip'znači da Python interpreter koji izvršava vašu naredbu ne može uvesti pip paket. Uzrok je obično jedna od četiri stvari: pip nikada nije bio bootstrapiran, koristite drugačiju Python instalaciju od one koju mislite, virtualno okruženje je stvoreno bez pipa ili je oštećeno ili vaš Linux distributer upravlja pipom odvojeno od osnovne Python instalacije.
Najsigurniji popravak je raditi od interpretera prema van. Prvo identificirajte točnu Python izvršnu datoteku, zatim isprobajte Pythonov ugrađeni ensurepipmodul i pređite na upravitelj paketa operativnog sustava ili get-pip.pykada ugrađena metoda nije dostupna. Službena dokumentacija za pip preporučuje pozivanje pipa kao modula - python -m pipna Unix-sličnim sustavima ili py -m pipna Windowsima - jer to veže pip za određeni interpreter.
Kratki vodič: odaberite pravi popravak
Što vidiš
Najbolja prva akcija
Zašto
python -m pipkaže da nema modula pod nazivom pip
Trčanjepython -m ensurepip --upgrade
CPython može pokrenuti svoj upakirani pip bez preuzimanja.
pipradi, ali python -m pipne uspijeva
Provjeri sys.executablei izvršive putanje
Vjerojatno miješaš Python instalacije
No module named ensurepip
Koristite upravitelj paketa vašeg distributera ili popravite instalaciju Pythona
ensurepipnije obavezno i distributeri ga mogu izostaviti
Virtualnom okruženju nedostaje pip
Bootstrap pip unutar njega ili ponovno stvori okruženje
venvnormalno instalira pip osim ako --without-pipnije korišten
externally-managed-environmentpojavljuje se na Linuxu
Stvorite virtualno okruženje
Sustav Python namjerno upravlja upravitelj paketa operativnog sustava
Korak 1: Potvrdite kojem Python interpreteru nedostaje pip
Nemojte počinjati s ponovnom instalacijom nasumičnih paketa. Prvo pitajte istog interpretera postoji li pip.
Prozori
py --version
py -m pip --version
py -c "import sys; print(sys.executable)"
where python
where pip
Ako samostalna naredba pipili pip3ukazuje na jednu instalaciju, dok pythonili python3pokazuje na drugu, problem je neusklađenost interpretera, a ne nužno nedostajuća PIP instalacija. Dajte prednost obliku modula prikazanom u službenom PIP korisničkom priručniku .
Greška je povezana s Python interpreterom koji se trenutno izvodi; identificirajte taj interpreter prije promjene instalacije.
Na macOS-u se isti simptom može pojaviti u Terminalu kada python3se otvori Python instalacija koja ne sadrži pip.
Na macOS-u i Linuxu koristite python3 -m pipkako bi naredba pip bila vezana za Python 3 interpreter koji namjeravate koristiti.
Korak 2: Vratite pip pomoću ensurepip-a
Za normalnu instalaciju CPythona, ensurepipje prva metoda popravka koju treba isprobati. Python-ova dokumentacija kaže da modul bootstrap-a pip iz komponenti uključenih u paket s interpreterom i ne treba mu pristup internetu za taj korak bootstrap-a. Modul je dodan u Pythonu 3.4.
Nakon uspješnog ensurepippokretanja trebala bi uslijediti provjera verzije korištenjem istog Python interpretera.
Korak 3: Ako nedostaje ensurepip, upotrijebite metodu koja odgovara osobi koja je instalirala Python
Trenutna dokumentacija Pythona izričito navodi da ensurepipje to opcionalno. Ako vaša kopija CPythona to ne uključuje, Python preporučuje konzultaciju s distributerom koji je isporučio tog interpretera. To je posebno važno na Linuxu, gdje operativni sustav može namjerno zasebno pakirati pip.
Ubuntu ili Debian-stil sustava Python
Za Ubuntu, službena arhiva paketa pruža python3-pippaket. Tipična instalacija sistemskog paketa je:
Koristite dokumentaciju paketa vaše distribucije umjesto kopiranja aptnaredbe na distribuciju koja nije Debian. Stranica Ubuntu paketa za python3-pip potvrđuje da se paket distribuira zasebno.
Python instaliran s python.org
Ako je službena instalacija python.org oštećena i ensurepipneočekivano nije dostupna, popravak ili ponovna instalacija te Python instalacije često je čišća od ručnog zakrpanja datoteka. Preuzmite samo sa službene stranice za preuzimanje Pythona .
Klasični prikaz instalacijskog programa Pythona za Windows ilustrira put popravka ili ponovne instalacije; dostupne verzije i kontrole instalacijskog programa mogu se razlikovati ovisno o izdanju Pythona.
Što je s get-pip.py?
Održavatelji pip-a navode get-pip.pykao podržani mehanizam instalacije kada pip nije dostupan. Vodič za korisnike Python Packaging-a preporučuje da se ensurepipprvo pokuša i upozorava da to get-pip.pynije usklađeno s upraviteljima paketa operativnog sustava. To upozorenje je važno kod instalacija Pythona kojima upravlja distribucija.
Ako namjerno koristite bootstrap skriptu, preuzmite je samo s lokacije na koju se odnosi službena dokumentacija za instalaciju pipa . Nemojte koristiti slučajnu kopiju s foruma, gista ili web-mjesta za preuzimanje treće strane.
Korak 4: Popravak virtualnog okruženja umjesto mijenjanja sistemskog Pythona
Pythonov venvmodul instalira pip prema zadanim postavkama, osim ako okruženje nije stvoreno s --without-pip. Ako je postojeće okruženje jednokratno, ponovno stvaranje je često brže i reproducibilnije od pokušaja popravka djelomično oštećenog direktorija paketa.
Službena dokumentacija navodi da se prema zadanimvenvensurepip postavkama koristi za pokretanje pipa u nova okruženja.
Novo virtualno okruženje izolira projektne pakete od sistemskog interpretera i obično uključuje vlastiti pip.
Zašto je ovo važno na modernim Linux distribucijama
PEP 668 definira EXTERNALLY-MANAGEDmarker koji distributeri koriste kako bi rekli instalaterima Python paketa da ne mijenjaju globalni kontekst paketa sistemskog interpretera prema zadanim postavkama. Ako pip prijavi okruženje kojim se upravlja izvana, to je drugačiji problem od „pip nedostaje“. Preporučeni obrazac je obično stvaranje virtualnog okruženja umjesto prisiljavanja globalne instalacije. Vidi PEP 668 .
Korak 5: Provjerite ispravak s istim interpreterom koji ćete zapravo koristiti
Nakon bilo kakvog popravka, provjerite i pip i ciljni paket iz iste Python izvršne datoteke.
Ako radite unutar IDE-a ili prijenosnog računala, provjerite i interpreter koji je odabrao taj alat. Uobičajeni obrazac kvara je instaliranje paketa s jednim terminalnim Pythonom dok editor izvršava drugi Python ili drugo virtualno okruženje.
Kada IDE i dalje prijavljuje nedostajuće pakete, usporedite njegovu Python izvršnu datoteku s interpreterom korištenim za uspješnu pip naredbu.
Trebate li zapravo uvesti pip u svoj Python kod?
Obično ne. Pipova vlastita dokumentacija kaže da je pip program naredbenog retka i da njegovi interni API-ji nisu podržani kao javni Python API. Iako import pipmože raditi nakon instalacije, kod aplikacije ne bi trebao ovisiti o internim komponentama pipa.
Ako skripta zaista treba pozvati pip, dokumentacija pipa preporučuje njegovo pokretanje kao podprocesa s trenutnim interpreterom:
Pokretanje pip install pipkada pip već nedostaje: prvo koristite ensurepip, upravitelj paketa operativnog sustava ili službenu bootstrap metodu.
Korištenje sudo pipna Pythonu kojim upravlja distribucija: ovo može biti u sukobu s vlasništvom nad paketom operativnog sustava. Poželjno je virtualno okruženje.
Ispravljanje PATH-a kada sam modul nije prisutan: PATH kontrolira hoće li ljuska pronaći izvršnu datoteku; ne instalira pipmodul u Python interpreter.
Instaliranje u krivu verziju Pythona: koristite python -m pip, python3 -m pipili py -m pipumjesto pretpostavke da gola pipnaredba cilja na pravi interpreter.
Ponovna upotreba premještenog virtualnog okruženja: Python-ova venv dokumentacija opisuje okruženja kao jednokratna i općenito ne prenosiva. Ponovno stvorite premješteno okruženje umjesto da pokušavate popraviti čvrsto kodirane putanje.
Završna kontrolna lista
Potvrdite točnu izvršnu datoteku Pythona s sys.executable.
Pokreni pip kroz taj interpreter s -m pip.
Pokušajte ensurepip --upgradeprije preuzimanja drugog bootstrap alata.
Ako ensurepipnije dostupno, slijedite upute distributera za upravljanje paketima.
Koristite virtualno okruženje za ovisnosti projekta, posebno na vanjski upravljanim Linux instalacijama.
Provjerite rezultat iz istog terminala, IDE-a, prijenosnog računala ili servisnog okruženja koje pokreće vaš projekt.
Za većinu standardnih instalacija Pythona 3, nakon najkraćeg pouzdanog popravka python -m ensurepip --upgradeslijedi python -m pip --version, a python3na Unix-sličnim sustavima ili pyWindowsima se prema potrebi zamjenjuje . Ako to ne uspije jer ensurepipnedostaje , zaustavite se i utvrdite tko je isporučio vašu instalaciju Pythona prije odabira sljedeće metode popravka.