Hogyan javítsuk ki a ModuleNotFoundError hibát: Nincs 'pip' nevű modul Python 3-ban

ModuleNotFoundError: No module named 'pip'azt jelenti, hogy a parancsot futtató Python értelmező nem tudja importálni a pip csomagot. Ennek oka általában négy dolog egyike lehet: a pip soha nem lett elindítva, egy másik Python telepítést használsz, mint gondolnád, egy virtuális környezet pip nélkül jött létre, vagy megsérült, vagy a Linux disztribútorod a pip csomagot az alap Python telepítéstől elkülönítve kezeli.

A legbiztonságosabb javítás az interpretertől kifelé haladni. Először azonosítsd a pontos Python futtatható fájlt, majd próbáld ki a Python beépített ensurepipmodulját, és csak akkor válts operációs rendszer csomagkezelőjére, vagy get-pip.pyha a beépített metódus nem érhető el. A hivatalos pip dokumentáció a pip modulként való meghívását javasolja – python -m pipUnix-szerű rendszereken vagy py -m pipWindowson –, mert ez a pip-et egy adott interpreterhez köti.

Gyors útmutató: válassza ki a megfelelő javítást

Amit látszLegjobb első akcióMiért
python -m pipazt mondja, hogy nincs pip nevű modulFutpython -m ensurepip --upgradeA CPython képes a mellékelt pip-jét letöltés nélkül elindítani
pipműködik, de nem python -m pipsikerülEllenőrző sys.executableés végrehajtható elérési utakValószínűleg kevered a Python telepítéseket
No module named ensurepipHasználd a forgalmazód csomagkezelőjét, vagy javítsd ki a Python telepítésétensurepipopcionális, és a forgalmazók elhagyhatják
Egy virtuális környezetből hiányzik a pip.Bootstrap pip benne, vagy újraalkotjuk a környezetetvenváltalában telepíti a pip-et, kivéve, ha korábban --without-piphasználták.
externally-managed-environmentLinuxon jelenik megHozz létre egy virtuális környezetetA Python rendszert szándékosan az operációs rendszer csomagkezelője kezeli.

1. lépés: Annak ellenőrzése, hogy melyik Python interpreterből hiányzik a pip

Ne kezdd véletlenszerű csomagok újratelepítésével. Először kérdezd meg ugyanazt az interpretert, hogy létezik-e a pip.

Ablakok

py --version
py -m pip --version
py -c "import sys; print(sys.executable)"
where python
where pip

macOS és Linux

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

Ha egy önálló pipvagy pip3parancs az egyik telepítésre mutat, míg a pythonvagy a egy másikra, akkor a probléma az interpreter eltérése, nem feltétlenül a hiányzó pip telepítés. Előnyben részesítsd a hivatalos pip felhasználói kézikönyvbenpython3 látható modulformátumot .

A Windows parancssor Python 3-at és ModuleNotFoundError hibát jelenít meg a pip importálása után.
A hiba az aktuálisan futó Python értelmezőhöz kapcsolódik; a telepítés módosítása előtt azonosítsa az értelmezőt.

macOS rendszeren ugyanez a tünet jelentkezhet a Terminálban, ha python3olyan Python-telepítésre van feloldva, amely nem tartalmaz pip-et.

A macOS terminál Python 3-at és egy ModuleNotFoundError hibát jelenít meg a pip esetében.
macOS és Linux rendszeren használd python3 -m pipa , hogy a pip parancs a használni kívánt Python 3 értelmezőhöz legyen kötve.

2. lépés: Pip visszaállítása az ensurepip segítségével

Normál CPython telepítés esetén ensurepipaz első javítási módszer, amit érdemes kipróbálni. A Python dokumentációja szerint a modul a interpreterhez mellékelt komponensekből bootstrap pip-et használ, és ehhez a bootstrap lépéshez nincs szükség internet-hozzáférésre. A modult a Python 3.4-ben adták hozzá.

Ablakok

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

macOS és Linux

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

Az első parancs telepíti vagy frissíti a Python kiadáshoz tartozó pip verziót. Az utolsó parancs ezután frissítheti a pip-et a konfigurált csomagindexből. Lásd a Python ensurepipdokumentációját és a hivatalos pip telepítési útmutatót .

Linux terminál, amely a python3 ensurepip parancsot jeleníti meg, majd sikeres python3 -m pip verzióellenőrzést végez.
A sikeres ensurepipfuttatást egy verzióellenőrzésnek kell követnie ugyanazzal a Python interpreterrel.

3. lépés: Ha az ensurepip hiányzik, használja a Python telepítőjének megfelelő metódust.

A jelenlegi Python dokumentáció kifejezetten megjegyzi, hogy ensurepipez opcionális. Ha a CPython példányod nem tartalmazza, a Python azt javasolja, hogy konzultálj a tolmácsot szállító forgalmazóval. Ez különösen fontos Linux rendszeren, ahol az operációs rendszer szándékosan külön csomagolhatja a pip-et.

Ubuntu vagy Debian stílusú Python rendszer

Ubuntu esetén a hivatalos csomagarchívum biztosít egy python3-pipcsomagot. Egy tipikus rendszercsomag-telepítés a következő:

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

Ezután ellenőrizze a következővel:

python3 -m pip --version

Használd a disztribúciód saját csomagdokumentációját ahelyett, hogy egy aptparancsot egy nem Debian disztribúcióba másolnál. A python3-pip Ubuntu csomagoldala megerősíti, hogy a csomag külön kerül terjesztésre.

Python telepítve a python.org oldalról

Ha egy hivatalos python.org telepítés sérült és ensurepipváratlanul elérhetetlenné válik, a Python telepítés javítása vagy újratelepítése gyakran egyszerűbb, mint a fájlok manuális javítása. Csak a hivatalos Python letöltési oldalról töltsön le .

Egy Python for Windows telepítőképernyő, amelyen látható a szokásos telepítési lehetőség és az ELÉRHETŐSÉG jelölőnégyzet.
Egy klasszikus Python for Windows telepítő nézet szemlélteti a javítási vagy újratelepítési útvonalat; az elérhető verziók és a telepítő vezérlői Python kiadásonként eltérőek lehetnek.

Mi a helyzet a get-pip.py fájllal?

A pip karbantartói get-pip.pytámogatott telepítési mechanizmusként szerepelnek, ha a pip hiányzik. A Python Packaging felhasználói kézikönyv azt javasolja, hogy ensurepipelőször próbáld meg, és figyelmeztet, hogy ez get-pip.pynem egyeztethető össze az operációs rendszer csomagkezelőivel. Ez a figyelmeztetés a disztró által kezelt Python telepítéseknél fontos.

Ha szándékosan használod a bootstrap szkriptet, csak a hivatalos pip telepítési dokumentációban linkelt helyről szerezd be . Ne használj véletlenszerű másolatot fórumokról, gist-ekről vagy harmadik féltől származó letöltési oldalakról.

4. lépés: Virtuális környezet javítása a rendszer Python módosítása helyett

A Python venvmodulja alapértelmezés szerint telepíti a pip-et, kivéve, ha a környezetet a -val hozták létre --without-pip. Ha egy meglévő környezet eldobható, akkor az újra létrehozása gyakran gyorsabb és reprodukálhatóbb, mint egy részben sérült csomagkönyvtár javítása.

Ablakok

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

macOS és Linux

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

Ha a környezet már létezik, és meg kell őriznie, aktiválja, és próbálja ki a következőket:

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

A hivatalos venvdokumentáció szerint ez ensurepipalapértelmezés szerint a pip új környezetekbe való indításához használatos.

Terminál, amely egy dot-venv környezet létrehozását és aktiválását, majd egy pip verzióellenőrzést és csomagtelepítést mutat.
Egy friss virtuális környezet elkülöníti a projektcsomagokat a rendszerértelmezőtől, és általában saját pip-et tartalmaz.

Miért fontos ez a modern Linux disztribúciókon?

A PEP 668 definiálja azt a EXTERNALLY-MANAGEDjelölőt, amelyet a terjesztők használnak, hogy jelezzék a Python csomagtelepítőknek, hogy alapértelmezés szerint ne módosítsák a rendszerértelmező globális csomagkontextusát. Ha a pip külsőleg felügyelt környezetet jelez, az más probléma, mint a „pip hiányzik”. Az ajánlott minta általában egy virtuális környezet létrehozása a globális telepítés kényszerítése helyett. Lásd: PEP 668 .

5. lépés: Ellenőrizze a javítást ugyanazzal az értelmezővel, amelyet ténylegesen használni fog

Bármilyen javítás után ellenőrizze mind a pip-et, mind a célcsomagot ugyanabból a Python futtatható fájlból.

Ablakok

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

macOS és Linux

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

Ha IDE-ben vagy notebookban dolgozol, ellenőrizd az adott eszköz által kiválasztott interpretert is. Gyakori hiba, hogy a csomagokat az egyik terminál Pythonjával telepíted, miközben a szerkesztő egy másik Pythont vagy egy másik virtuális környezetet futtat.

Kódszerkesztő, amely Python kódot jelenít meg, amely kinyomtatja a pip verzióját és a Python futtatható fájlt, sikeres termináleredménnyel.
Amikor egy IDE továbbra is hiányzó csomagokat jelez, hasonlítsd össze a Python futtatható fájlját a sikeres pip parancshoz használt értelmezővel.

Tényleg importálnod kell a pip-et a Python kódodba?

Általában nem. A pip saját dokumentációja szerint a pip egy parancssori program, és a belső API-jai nem támogatottak nyilvános Python API-ként. Bár import pipa telepítés után működhetnek, az alkalmazáskódnak nem szabad a pip belső részeitől függenie.

Ha egy szkriptnek valóban meg kell hívnia a pip-et, a pip dokumentációja azt javasolja, hogy alfolyamatként indítsuk el az aktuális interpreterrel:

import subprocess
import sys

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

Lásd a Pip használata a programodból című részt a hivatalos pip felhasználói kézikönyvben .

Gyakori hibák, amelyek életben tartják a hibát

  • Futtatás, pip install pipha a pip már hiányzik: először használd ensurepipa , egy operációs rendszer csomagkezelőt vagy a hivatalos bootstrap metódust.
  • sudo pipDisztribúció által kezelt Pythonon használva : ez ütközhet az operációs rendszer csomagtulajdonjogával. Virtuális környezetet részesíts előnyben.
  • A PATH hiba javítása, ha maga a modul hiányzik: a PATH szabályozza, hogy egy shell megtalálja-e a végrehajtható fájlt; nem telepíti a pipmodult egy Python interpreterbe.
  • Rossz Python verzióba telepítés: használd a python -m pip, python3 -m pip, vagy a py -m pipkaraktereket ahelyett, hogy egy egyszerű pipparancs a megfelelő értelmezőt célozza meg.
  • Áthelyezett virtuális környezet újrafelhasználása: A Python venv dokumentációja a környezeteket eldobhatóként és általában nem hordozhatóként írja le. Hozz létre újra egy áthelyezett környezetet a fixen kódolt elérési utak javításának megpróbálása helyett.

Végső ellenőrzőlista

  • Erősítse meg a pontos Python futtatható fájlt a gombbal sys.executable.
  • Futtassa a pip parancsot az értelmezőn a következő paranccsal -m pip.
  • Próbáld ki ensurepip --upgrade, mielőtt letöltesz egy másik bootstrap eszközt.
  • Ha ensurepipnem érhető el, kövesse a forgalmazó csomagkezelési utasításait.
  • Használjon virtuális környezetet a projektfüggőségekhez, különösen külsőleg felügyelt Linux telepítések esetén.
  • Ellenőrizze az eredményt ugyanabból a terminálból, IDE-ből, jegyzetfüzetből vagy szolgáltatásfuttató környezetből, amely a projektet futtatja.

A legtöbb szabványos Python 3 telepítés esetén a legrövidebb és legmegbízhatóbb javítást a python -m ensurepip --upgradeköveti python -m pip --version, python3Unix-szerű rendszereken vagy pyWindows rendszeren a helyettesítésével, a megfelelő módon. Ha ez azért nem sikerül, mert ensurepipa hiányzik, álljon meg, és azonosítsa a Python telepítését, mielőtt kiválasztaná a következő javítási módszert.

Hagyj kommentárt

How to Fix "Tailwind CSS Styles Not Updating" in a Vite React App

How to Fix "Tailwind CSS Styles Not Updating" in a Vite React App

Fix Tailwind CSS styles not updating in Vite React by checking Tailwind v4 setup, CSS imports, source detection, dynamic classes, HMR, and stale caches.

Hogyan javítsuk ki a ModuleNotFoundError hibát: Nincs 'pip' nevű modul Python 3-ban

Hogyan javítsuk ki a ModuleNotFoundError hibát: Nincs 'pip' nevű modul Python 3-ban

Javítsd ki a Python 3 ModuleNotFoundError hibáját a pip esetében Windows, macOS és Linux rendszereken ensurepip, operációsrendszer-csomagok, virtuális környezetek és interpreter-ellenőrzések segítségével.

A „Hozzáférés megtagadva (nyilvános kulcs)” hiba javítása a GitHub SSH-ban

A „Hozzáférés megtagadva (nyilvános kulcs)” hiba javítása a GitHub SSH-ban

Javítsd ki a GitHub SSH engedély megtagadva (nyilvános kulcs) hibát a gazdagép, az aktív SSH kulcs, a GitHub fiók, az SSO-engedélyezés, a távoli URL és a 22-es port hozzáférésének ellenőrzésével.

Hogyan javítsuk ki a „Git Push elutasítva: nem gyorsított előretekerés” hibát a változtatások elvesztése nélkül

Hogyan javítsuk ki a „Git Push elutasítva: nem gyorsított előretekerés” hibát a változtatások elvesztése nélkül

Git nem gyorsított push hiba javítása biztonságosan. Helyi munka védelme, távoli commitok beolvasása, egyesítés vagy újraalapozás kiválasztása, ütközések feloldása és push végrehajtása a változtatások elvesztése nélkül.

Hogyan javítsuk ki az „Nginx 502 Bad Gateway” hibát Node.js proxy használatakor

Hogyan javítsuk ki az „Nginx 502 Bad Gateway” hibát Node.js proxy használatakor

Javítsd ki az Nginx 502 Bad Gateway hibákat egy Node.js upstream fájllal az alkalmazásport, az NGINX naplók, a proxy_pass cím, a konténerhálózat, az időtúllépések és az újratöltés ellenőrzésével.

Hogyan javítsuk ki a „Type 'null' Is Not Assignable to Type” hibát TypeScriptben?

Hogyan javítsuk ki a „Type 'null' Is Not Assignable to Type” hibát TypeScriptben?

Kijavítottuk a TypeScript „A 'null' típus nem rendelhető típushoz” hibáját uniótípusokkal, szűkítéssel, alapértelmezett értékekkel és biztonságos állításokkal a strictNullChecks alatt.

Hogyan javítsuk ki a „Prisma Client has not been generated yet” hibát

Hogyan javítsuk ki a „Prisma Client has not been generated yet” hibát

Javítsa ki a Prisma Client nem generált hibát a generátor, a séma, a kimeneti útvonal, az importok, a verziók, a monorepo beállítás és a telepítési build lépések ellenőrzésével.

Az „ERR_MODULE_NOT_FOUND” hiba javítása a Node.js ESM importálásokban

Az „ERR_MODULE_NOT_FOUND” hiba javítása a Node.js ESM importálásokban

Javítsd ki a Node.js ERR_MODULE_NOT_FOUND hibát az ESM-ben az importálási útvonalak, fájlkiterjesztések, csomagtelepítés, exportálások, ESM mód és tiszta telepítések ellenőrzésével.

Hogyan javítható az SSL-tanúsítvány hiba: Unable to Get Local Issuer Certificate Git esetén

Hogyan javítható az SSL-tanúsítvány hiba: Unable to Get Local Issuer Certificate Git esetén

Javítsd ki a Git 'unable to get local issuer certificate' hibáját a megbízható háttérprogram azonosításával, a helyes CA-lánc telepítésével, és az SSL-ellenőrzés engedélyezve tartásával.

Hogyan javítsuk meg a MongoDB hálózati időtúllépési hibát a Mongoose kapcsolódásnál

Hogyan javítsuk meg a MongoDB hálózati időtúllépési hibát a Mongoose kapcsolódásnál

Javítsa a Mongoose MongoDB hálózati időtúllépési hibáit az időtúllépés típusának azonosításával, az Atlas vagy TCP elérhetőség tesztelésével, az URI helyesbítésével, és az időtúllépések beállításával csak akkor, ha az indokolt.