Kezdőlap
» Alap tudás
»
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
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átsz
Legjobb első akció
Miért
python -m pipazt mondja, hogy nincs pip nevű modul
Futpython -m ensurepip --upgrade
A CPython képes a mellékelt pip-jét letöltés nélkül elindítani
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 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.
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á.
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ő:
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 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.
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.
A hivatalos venvdokumentáció szerint ez ensurepipalapértelmezés szerint a pip új környezetekbe való indításához használatos.
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.
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.
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:
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.