Slik fikser du ModuleNotFoundError: Ingen modul kalt 'pip' i Python 3
ModuleNotFoundError: No module named 'pip'betyr at Python-tolkeren som kjører kommandoen din ikke kan importere pip-pakken. Årsaken er vanligvis én av fire ting: pip ble aldri bootstrappet, du bruker en annen Python-installasjon enn du tror, et virtuelt miljø ble opprettet uten pip eller ble skadet, eller Linux-distributøren din administrerer pip separat fra den grunnleggende Python-installasjonen.
Den sikreste reparasjonen er å jobbe fra tolken og utover. Identifiser først den nøyaktige Python-kjørbare filen, prøv deretter Pythons innebygde ensurepipmodul, og flytt bare til en pakkebehandler i operativsystemet eller get-pip.pynår den innebygde metoden ikke er tilgjengelig. Den offisielle pip-dokumentasjonen anbefaler å kalle pip som en modul – python -m pippå Unix-lignende systemer eller py -m pippå Windows – fordi det knytter pip til en spesifikk tolk.
Hurtigreferanse: velg riktig løsning
Det du ser
Beste første handling
Hvorfor
python -m pipsier ingen modul med navnet pip
Løppython -m ensurepip --upgrade
CPython kan bootstrappe sin medfølgende pip uten å laste den ned
pipfungerer, men python -m pipmislykkes
Sjekk sys.executableog kjørbare stier
Du blander sannsynligvis Python-installasjoner
No module named ensurepip
Bruk distributørens pakkebehandler eller reparer Python-installasjonen
ensurepiper valgfritt, og distributører kan utelate det
Et virtuelt miljø mangler pip
Bootstrap pip inni den eller gjenskap miljøet
venvinstallerer vanligvis pip med mindre --without-pipden ble brukt
externally-managed-environmentvises på Linux
Lag et virtuelt miljø
Systemet Python administreres bevisst av OS-pakkebehandleren
Trinn 1: Bekreft hvilken Python-tolk som mangler pip
Ikke start med å installere tilfeldige pakker på nytt. Spør først den samme tolken om pip finnes.
Vinduer
py --version
py -m pip --version
py -c "import sys; print(sys.executable)"
where python
where pip
Hvis en frittstående kommando pipeller pip3kommando peker til én installasjon, mens pythoneller python3peker til en annen, er problemet en tolkeravvik, ikke nødvendigvis en manglende PIP-installasjon. Foretrekk modulformen som vises i den offisielle PIP-brukerhåndboken .
Feilen er knyttet til Python-tolken som kjører for øyeblikket. Identifiser denne tolken før du endrer installasjonen.
På macOS kan det samme symptomet vises i Terminal når python3den løses til en Python-installasjon som ikke inneholder pip.
På macOS og Linux, bruk python3 -m pipslik at pip-kommandoen er bundet til Python 3-tolkeren du har tenkt å bruke.
Trinn 2: Gjenopprett pip med ensurepip
For en vanlig CPython-installasjon ensurepiper den første reparasjonsmetoden du bør prøve. Pythons dokumentasjon sier at modulen bootstraps piper fra komponenter som følger med tolken, og trenger ikke internettilgang for det bootstrap-trinnet. Modulen ble lagt til i Python 3.4.
En vellykket ensurepipkjøring bør etterfølges av en versjonskontroll med samme Python-tolk.
Trinn 3: Hvis ensurepip mangler, bruk metoden som passer til den som installerte Python.
Nåværende Python-dokumentasjon nevner eksplisitt at dette ensurepiper valgfritt. Hvis din kopi av CPython ikke inkluderer det, anbefaler Python at du konsulterer distributøren som leverte den tolken. Dette er spesielt viktig på Linux, der operativsystemet bevisst kan pakke pip separat.
Ubuntu eller Debian-lignende system Python
For Ubuntu tilbyr det offisielle pakkearkivet en python3-pippakke. En typisk systempakkeinstallasjon er:
Bruk distribusjonens egen pakkedokumentasjon i stedet for å kopiere en aptkommando til en ikke-Debian-distribusjon. Ubuntu-pakkesiden for python3-pip bekrefter at pakken distribueres separat.
Python installert fra python.org
Hvis en offisiell python.org-installasjon er skadet og ensurepipuventet utilgjengelig, er det ofte enklere å reparere eller installere Python-installasjonen på nytt enn å oppdatere filer manuelt. Last ned kun fra den offisielle Python-nedlastingssiden .
En klassisk Python for Windows-installasjonsvisning illustrerer reparasjons- eller reinstalleringsbanen; tilgjengelige versjoner og installasjonskontroller kan variere avhengig av Python-utgivelsen.
Hva med get-pip.py?
PIP-vedlikeholderne lister opp get-pip.pysom en støttet installasjonsmekanisme når pip er fraværende. Python Packaging User Guide anbefaler å prøve ensurepipførst og advarer om at den get-pip.pyikke koordinerer med operativsystemets pakkebehandlere. Denne advarselen er viktig for distro-administrerte Python-installasjoner.
Hvis du med vilje bruker bootstrap-skriptet, må du kun hente det fra stedet som er lenket til i den offisielle pip-installasjonsdokumentasjonen . Ikke bruk en tilfeldig kopi fra et forum, GIST eller en tredjeparts nedlastingsside.
Trinn 4: Reparer et virtuelt miljø i stedet for å endre system Python
Pythons venvmodul installerer pip som standard med mindre miljøet ble opprettet med --without-pip. Hvis et eksisterende miljø er disponibelt, er det ofte raskere og mer reproduserbart å gjenskape det enn å prøve å reparere en delvis ødelagt pakkekatalog.
Et nytt virtuelt miljø isolerer prosjektpakker fra systemtolkeren og inkluderer vanligvis sin egen pip.
Hvorfor dette er viktig på moderne Linux-distribusjoner
PEP 668 definerer EXTERNALLY-MANAGEDmarkøren som brukes av distributører for å fortelle Python-pakkeinstallatører at de ikke skal endre systemtolkens globale pakkekontekst som standard. Hvis pip rapporterer et eksternt administrert miljø, er det et annet problem enn «pip mangler». Det anbefalte mønsteret er vanligvis å opprette et virtuelt miljø i stedet for å tvinge frem en global installasjon. Se PEP 668 .
Trinn 5: Bekreft rettelsen med den samme tolken du faktisk skal bruke
Etter enhver reparasjon, verifiser både pip og målpakken din fra den samme Python-kjørbare filen.
Hvis du jobber i et IDE eller en notatbok, må du også sjekke tolken som er valgt av det verktøyet. Et vanlig feilmønster er å installere pakker med én Python-terminal mens editoren kjører en annen Python eller et annet virtuelt miljø.
Når en IDE fortsatt rapporterer manglende pakker, sammenlign den kjørbare Python-filen med tolken som ble brukt for den vellykkede pip-kommandoen.
Trenger du faktisk å importere pip i Python-koden din?
Vanligvis ikke. pips egen dokumentasjon sier at pip er et kommandolinjeprogram, og at dets interne API-er ikke støttes som et offentlig Python API. Selv om det import pipkan fungere etter installasjon, bør ikke applikasjonskoden være avhengig av pips interne funksjoner.
Hvis et skript virkelig trenger å påkalle pip, anbefaler pip-dokumentasjonen at det startes som en delprosess med den gjeldende tolken:
Kjører pip install pipnår pip allerede mangler: bruk ensurepip, en OS-pakkebehandler eller den offisielle bootstrap-metoden først.
Brukes sudo pippå en distro-administrert Python: dette kan komme i konflikt med operativsystemets pakkeeierskap. Foretrekker et virtuelt miljø.
Fiksing av PATH når selve modulen er fraværende: PATH kontrollerer om et skall finner en kjørbar fil; det installerer ikke pipmodulen i en Python-tolk.
Installere i feil Python-versjon: bruk python -m pip, python3 -m pip, eller py -m pipi stedet for å anta at en ren pipkommando målretter riktig tolk.
Gjenbruk av et flyttet virtuelt miljø: Pythons venv-dokumentasjon beskriver miljøer som engangsbrukbare og vanligvis ikke bærbare. Gjenskap et flyttet miljø i stedet for å prøve å reparere hardkodede stier.
Endelig sjekkliste
Bekreft den nøyaktige Python-kjørbare filen med sys.executable.
Kjør pip gjennom den tolken med -m pip.
Prøv ensurepip --upgradefør du laster ned et annet bootstrap-verktøy.
Hvis ensurepipikke er tilgjengelig, følg distributørens instruksjoner for pakkehåndtering.
Bruk et virtuelt miljø for prosjektavhengigheter, spesielt på eksternt administrerte Linux-installasjoner.
Bekreft resultatet fra samme terminal, IDE, bærbar PC eller tjenestekjøretidsenhet som kjører prosjektet ditt.
For de fleste standard Python 3-installasjoner python -m ensurepip --upgradeetterfølges den korteste pålitelige løsningen av python -m pip --version, og erstattes python3på Unix-lignende systemer eller pypå Windows etter behov. Hvis det mislykkes fordi ensurepipmangler, stopp og identifiser hvem som leverte Python-installasjonen din før du velger neste reparasjonsmetode.