Hjem
» Basis viden
»
Sådan rettes ModuleNotFoundError: Intet modul med navnet 'pip' i Python 3
Sådan rettes ModuleNotFoundError: Intet modul med navnet 'pip' i Python 3
ModuleNotFoundError: No module named 'pip'betyder, at Python-fortolkeren, der kører din kommando, ikke kan importere pip-pakken. Årsagen er normalt en af fire ting: pip blev aldrig bootstrappet, du bruger en anden Python-installation, end du tror, et virtuelt miljø blev oprettet uden pip eller blev beskadiget, eller din Linux-distributør administrerer pip separat fra den grundlæggende Python-installation.
Den sikreste reparation er at arbejde fra fortolkeren og udad. Identificér først den præcise Python-eksekverbare fil, prøv derefter Pythons indbyggede ensurepipmodul, og flyt kun til en pakkehåndtering i operativsystemet, eller get-pip.pynår den indbyggede metode ikke er tilgængelig. Den officielle pip-dokumentation anbefaler at kalde pip som et modul - python -m pippå Unix-lignende systemer eller py -m pippå Windows - fordi det binder pip til en specifik fortolker.
Hurtig reference: vælg den rigtige løsning
Hvad du ser
Bedste første handling
Hvorfor
python -m pipsiger intet modul med navnet pip
Løbepython -m ensurepip --upgrade
CPython kan bootstrappe sin bundtede pip uden at downloade den
pipvirker, men python -m pipmislykkes
Kontroller sys.executableog eksekverbare stier
Du blander sandsynligvis Python-installationer
No module named ensurepip
Brug din distributørs pakkehåndtering eller reparer Python-installationen
ensurepiper valgfrit, og distributører kan udelade det
Et virtuelt miljø mangler pip
Bootstrap pip inde i det eller genskab miljøet
venvinstallerer normalt pip, medmindre --without-pipdet blev brugt
externally-managed-environmentvises på Linux
Skab et virtuelt miljø
Systemet Python administreres bevidst af OS-pakkehåndteringen
Trin 1: Bekræft hvilken Python-fortolker der mangler pip
Start ikke med at geninstallere tilfældige pakker. Spørg først den samme fortolker, om pip findes.
Vinduer
py --version
py -m pip --version
py -c "import sys; print(sys.executable)"
where python
where pip
Hvis en standalone- kommando pipeller pip3kommando peger på én installation, mens pythoneller python3peger på en anden, er problemet en fortolkeruoverensstemmelse, ikke nødvendigvis en manglende pip-installation. Foretræk modulformen vist i den officielle pip-brugervejledning .
Fejlen er knyttet til den Python-fortolker, der kører i øjeblikket; identificer denne fortolker, før du ændrer din installation.
På macOS kan det samme symptom vises i Terminal, når python3der oprettes en Python-installation, der ikke indeholder pip.
På macOS og Linux skal du bruge , python3 -m pipså pip-kommandoen er bundet til den Python 3-fortolker, du har til hensigt at bruge.
Trin 2: Gendan pip med ensurepip
For en normal CPython-installation ensurepiper den første reparationsmetode, man skal prøve. Pythons dokumentation siger, at modulet bootstraps piper fra komponenter, der følger med fortolkeren, og ikke behøver internetadgang for dette bootstrap-trin. Modulet blev tilføjet i Python 3.4.
En vellykket ensurepipkørsel bør efterfølges af en versionskontrol ved hjælp af den samme Python-fortolker.
Trin 3: Hvis ensurepip mangler, skal du bruge den metode, der passer til den, der installerede Python.
Den nuværende Python-dokumentation angiver eksplicit, at det ensurepiper valgfrit. Hvis din kopi af CPython ikke inkluderer det, anbefaler Python at konsultere den distributør, der leverede den pågældende fortolker. Dette er især vigtigt på Linux, hvor operativsystemet bevidst kan pakke pip separat.
Ubuntu eller Debian-lignende system Python
For Ubuntu tilbyder det officielle pakkearkiv en python3-pippakke. En typisk systempakkeinstallation er:
Brug din distributions egen pakkedokumentation i stedet for at kopiere en aptkommando til en ikke-Debian-distribution. Ubuntu-pakkesiden for python3-pip bekræfter, at pakken distribueres separat.
Python installeret fra python.org
Hvis en officiel python.org-installation er beskadiget og ensurepipuventet ikke længere er tilgængelig, er det ofte nemmere at reparere eller geninstallere Python-installationen end at opdatere filer manuelt. Download kun fra den officielle Python-downloadside .
En klassisk Python til Windows-installationsvisning illustrerer reparations- eller geninstallationsstien; tilgængelige versioner og installationskontroller kan variere afhængigt af Python-udgivelsen.
Hvad med get-pip.py?
PIP-vedligeholderne angiver get-pip.pyen understøttet installationsmekanisme, når pip ikke er tilgængelig. Python Packaging User Guide anbefaler at prøve ensurepipførst og advarer om, at den get-pip.pyikke koordinerer med operativsystemets pakkehåndteringssystemer. Denne advarsel er vigtig for distributionsstyrede Python-installationer.
Hvis du bevidst bruger bootstrap-scriptet, skal du kun hente det fra den placering, der er linket til i den officielle pip-installationsdokumentation . Brug ikke en tilfældig kopi fra et forum, GIST eller en tredjeparts downloadside.
Trin 4: Reparer et virtuelt miljø i stedet for at ændre systemets Python
Pythons venvmodul installerer pip som standard, medmindre miljøet blev oprettet med --without-pip. Hvis et eksisterende miljø kan fjernes, er det ofte hurtigere og mere reproducerbart at genskabe det end at forsøge at reparere en delvist ødelagt pakkemappe.
Den officielle venvdokumentation angiver, at den ensurepipsom standard bruges til at bootstrappe pip i nye miljøer.
Et nyt virtuelt miljø isolerer projektpakker fra systemfortolkeren og inkluderer normalt sin egen pip.
Hvorfor dette er vigtigt på moderne Linux-distributioner
PEP 668 definerer den EXTERNALLY-MANAGEDmarkør, der bruges af distributører til at fortælle Python-pakkeinstallatører, at de som standard ikke må ændre systemfortolkerens globale pakkekontekst. Hvis pip rapporterer et eksternt administreret miljø, er det et andet problem end "pip mangler". Det anbefalede mønster er normalt at oprette et virtuelt miljø i stedet for at gennemtvinge en global installation. Se PEP 668 .
Trin 5: Bekræft rettelsen med den samme fortolker, du rent faktisk vil bruge
Efter enhver reparation skal du verificere både pip og din målpakke fra den samme Python-eksekverbare fil.
Hvis du arbejder i et IDE eller en notesbog, skal du også kontrollere den fortolker, der er valgt af det pågældende værktøj. Et almindeligt fejlmønster er installation af pakker med én Python-terminal, mens editoren udfører en anden Python eller et andet virtuelt miljø.
Når et IDE stadig rapporterer manglende pakker, skal du sammenligne dets Python-eksekverbare fil med den fortolker, der blev brugt til din vellykkede pip-kommando.
Har du virkelig brug for at importere pip i din Python-kode?
Normalt ikke. pips egen dokumentation siger, at pip er et kommandolinjeprogram, og at dets interne API'er ikke understøttes som en offentlig Python API. Selvom det import pipkan virke efter installation, bør programkoden ikke afhænge af pips interne funktioner.
Hvis et script virkelig har brug for at kalde pip, anbefaler pip-dokumentationen at starte det som en underproces med den aktuelle fortolker:
Kører pip install pipnår pip allerede mangler: brug ensurepip, en OS-pakkehåndtering eller den officielle bootstrap-metode først.
Brug sudo pippå en distro-administreret Python: dette kan være i konflikt med operativsystemets pakkeejerskab. Foretrækker et virtuelt miljø.
Rettelse af PATH når selve modulet mangler: PATH styrer, om en shell finder en eksekverbar fil; den installerer ikke pipmodulet i en Python-fortolker.
Installation i den forkerte Python-version: brug python -m pip, python3 -m pip, eller py -m pipi stedet for at antage, at en almindelig pipkommando målretter den rigtige fortolker.
Genbrug af et flyttet virtuelt miljø: Pythons venv-dokumentation beskriver miljøer som engangsbrugbare og generelt ikke bærbare. Genskab et flyttet miljø i stedet for at forsøge at reparere hardcodede stier.
Endelig tjekliste
Bekræft den nøjagtige Python-eksekverbare fil med sys.executable.
Kør pip gennem den fortolker med -m pip.
Prøv det ensurepip --upgradefør du downloader et andet bootstrap-værktøj.
Hvis ensurepipikke er tilgængelig, skal du følge distributørens instruktioner for pakkehåndtering.
Brug et virtuelt miljø til projektafhængigheder, især på eksternt administrerede Linux-installationer.
Bekræft resultatet fra den samme terminal, IDE, notesbog eller service-kørselstid, der kører dit projekt.
python -m ensurepip --upgradeFor de fleste standard Python 3-installationer efterfølges den korteste pålidelige løsning af python -m pip --version, der erstattes python3på Unix-lignende systemer eller pypå Windows, alt efter hvad der er relevant. Hvis det mislykkes, fordi ensurepipmangler, skal du stoppe og identificere, hvem der leverede din Python-installation, før du vælger den næste reparationsmetode.