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 akcijaZašto
python -m pipkaže da nema modula pod nazivom pipTrčanjepython -m ensurepip --upgradeCPython može pokrenuti svoj upakirani pip bez preuzimanja.
pipradi, ali python -m pipne uspijevaProvjeri sys.executablei izvršive putanjeVjerojatno miješaš Python instalacije
No module named ensurepipKoristite upravitelj paketa vašeg distributera ili popravite instalaciju Pythonaensurepipnije obavezno i ​​distributeri ga mogu izostaviti
Virtualnom okruženju nedostaje pipBootstrap pip unutar njega ili ponovno stvori okruženjevenvnormalno instalira pip osim ako --without-pipnije korišten
externally-managed-environmentpojavljuje se na LinuxuStvorite virtualno okruženjeSustav 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

macOS i Linux

python3 --version
python3 -m pip --version
python3 -c 'import sys; print(sys.executable)'
command -v python3
command -v pip3

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 .

Naredbeni redak sustava Windows prikazuje Python 3 i ModuleNotFoundError nakon pokušaja uvoza pip-a.
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.

macOS Terminal prikazuje Python 3 i ModuleNotFoundError za 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.

Prozori

py -m ensurepip --upgrade
py -m pip --version
py -m pip install --upgrade pip

macOS i Linux

python3 -m ensurepip --upgrade
python3 -m pip --version
python3 -m pip install --upgrade pip

Prva naredba instalira ili osvježava verziju pipa koja dolazi u paketu s tim izdanjem Pythona. Posljednja naredba zatim može ažurirati pip iz konfiguriranog indeksa paketa. Pogledajte dokumentaciju Pythonaensurepip i službeni vodič za instalaciju pipa .

Linux terminal prikazuje python3 ensurepip nakon čega slijedi uspješna provjera verzije python3 -m pip-a.
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:

sudo apt update
sudo apt install python3-pip python3-venv

Zatim provjerite sa:

python3 -m pip --version

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 .

Zaslon instalacijskog programa Pythona za Windows koji prikazuje standardnu ​​opciju instalacije i potvrdni okvir PATH.
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.

Prozori

py -m venv .venv
.venv\Scriptsctivate
python -m pip --version

macOS i Linux

python3 -m venv .venv
source .venv/bin/activate
python -m pip --version

Ako okruženje već postoji i trebate ga sačuvati, aktivirajte ga i pokušajte:

python -m ensurepip --upgrade
python -m pip install --upgrade pip

Službena dokumentacija navodi da se prema zadanimvenvensurepip postavkama koristi za pokretanje pipa u nova okruženja.

Terminal koji prikazuje stvaranje i aktivaciju dot-venv okruženja nakon čega slijedi provjera verzije pip-a i instalacija paketa.
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.

Prozori

py -m pip --version
py -m pip install requests
py -c "import requests; print(requests.__version__)"

macOS i Linux

python3 -m pip --version
python3 -m pip install requests
python3 -c 'import requests; print(requests.__version__)'

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.

Uređivač koda koji prikazuje Python kod koji ispisuje pip verziju i Python izvršnu datoteku, s uspješnim terminalnim rezultatom.
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:

import subprocess
import sys

subprocess.check_call([
    sys.executable,
    "-m",
    "pip",
    "install",
    "SomePackage",
])

Pogledajte Korištenje pipa iz vašeg programa u službenom vodiču za korisnike pipa .

Uobičajene pogreške koje održavaju grešku živom

  • 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.

Ostavite komentar

Kako popraviti grešku "Tailwind CSS stilovi se ne ažuriraju" u Vite React aplikaciji

Kako popraviti grešku "Tailwind CSS stilovi se ne ažuriraju" u Vite React aplikaciji

Ispravite Tailwind CSS stilove koji se ne ažuriraju u Vite Reactu provjerom postavki Tailwind v4, CSS uvoza, otkrivanja izvora, dinamičkih klasa, HMR-a i zastarjelih predmemorija.

Kako popraviti ModuleNotFoundError: Nema modula pod nazivom 'pip' u Pythonu 3

Kako popraviti ModuleNotFoundError: Nema modula pod nazivom 'pip' u Pythonu 3

Ispravite ModuleNotFoundError u Pythonu 3 za pip na Windowsima, macOS-u i Linuxu pomoću ensurepipa, OS paketa, virtualnih okruženja i provjera interpretera.

Kako popraviti "Dozvola odbijena (javni ključ)" u GitHub SSH-u

Kako popraviti "Dozvola odbijena (javni ključ)" u GitHub SSH-u

Ispravite GitHub SSH Permission Denied (publickey) provjerom hosta, aktivnog SSH ključa, GitHub računa, SSO autorizacije, udaljenog URL-a i pristupa portu 22.

Kako popraviti "Git Push Rejected: Non-FastForward" bez gubitka promjena

Kako popraviti "Git Push Rejected: Non-FastForward" bez gubitka promjena

Sigurno ispravite Git push koji ne omogućuje brzo premotavanje. Zaštitite lokalni rad, dohvatite udaljene commitove, odaberite spajanje ili rebase, riješite sukobe i pushajte bez gubitka promjena.

Kako popraviti "Nginx 502 Bad Gateway" prilikom proxyja za Node.js

Kako popraviti "Nginx 502 Bad Gateway" prilikom proxyja za Node.js

Ispravite greške Nginx 502 Bad Gateway s Node.js uzvodno provjerom porta aplikacije, NGINX logova, proxy_pass adrese, umrežavanja kontejnera, vremenskih ograničenja i ponovnog učitavanja.

Kako popraviti "Tip 'null' se ne može dodijeliti tipu" u TypeScriptu

Kako popraviti "Tip 'null' se ne može dodijeliti tipu" u TypeScriptu

Ispravljena je greška "Tip 'null' nije moguće dodijeliti tipu" u TypeScriptu s tipovima unija, sužavanjem, zadanim vrijednostima i sigurnim tvrdnjama pod strictNullChecks.

Kako ispraviti pogrešku „Prisma Client has not been generated yet”

Kako ispraviti pogrešku „Prisma Client has not been generated yet”

Ispravite pogrešku da Prisma Client nije generiran provjerom generatora, sheme, izlazne putanje, uvoza, verzija, monorepo postavki i koraka izgradnje pri implementaciji.

Kako ispraviti "ERR_MODULE_NOT_FOUND" u Node.js ESM uvozima

Kako ispraviti "ERR_MODULE_NOT_FOUND" u Node.js ESM uvozima

Ispravite Node.js ERR_MODULE_NOT_FOUND u ESM-u provjerom putanja uvoza, ekstenzija datoteka, instalacije paketa, izvoza, ESM načina rada i čistih instalacija.

Kako riješiti problem sa SSL certifikatom: Nemoguće dobiti lokalni certifikat izdavatelja u Gitu

Kako riješiti problem sa SSL certifikatom: Nemoguće dobiti lokalni certifikat izdavatelja u Gitu

Riješite Gitovu grešku 'nemoguće dobiti lokalni certifikat izdavatelja' identificiranjem pozadine povjerenja, instaliranjem ispravnog lanca CA i održavanjem omogućene SSL verifikacije.

Kako riješiti grešku mrežnog isteka vremena MongoDB u Mongoose vezi

Kako riješiti grešku mrežnog isteka vremena MongoDB u Mongoose vezi

Riješite greške mrežnog isteka vremena MongoDB u Mongooseu identificiranjem vrste isteka, testiranjem dostupnosti Atlasa ili TCP-a, ispravljanjem URI-ja i podešavanjem vremena isteka samo kada je opravdano.