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 serBeste første handlingHvorfor
python -m pipsier ingen modul med navnet pipLøppython -m ensurepip --upgradeCPython kan bootstrappe sin medfølgende pip uten å laste den ned
pipfungerer, men python -m pipmislykkesSjekk sys.executableog kjørbare stierDu blander sannsynligvis Python-installasjoner
No module named ensurepipBruk distributørens pakkebehandler eller reparer Python-installasjonenensurepiper valgfritt, og distributører kan utelate det
Et virtuelt miljø mangler pipBootstrap pip inni den eller gjenskap miljøetvenvinstallerer vanligvis pip med mindre --without-pipden ble brukt
externally-managed-environmentvises på LinuxLag 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

macOS og Linux

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

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 .

Windows-ledeteksten viser Python 3 og ModuleNotFoundError etter forsøk på å importere pip.
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.

macOS Terminal som viser Python 3 og en ModuleNotFoundError for 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.

Vinduer

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

macOS og Linux

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

Den første kommandoen installerer eller oppdaterer pip-versjonen som følger med den Python-utgivelsen. Den siste kommandoen kan deretter oppdatere pip fra den konfigurerte pakkeindeksen. Se Python- ensurepipdokumentasjonen og den offisielle pip-installasjonsveiledningen .

Linux-terminal som viser python3 ensurepip etterfulgt av en vellykket python3 -m pip-versjonssjekk.
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:

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

Bekreft deretter med:

python3 -m pip --version

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 .

Et installasjonsskjermbilde for Python for Windows som viser standard installasjonsalternativ og PATH-avmerkingsboksen.
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.

Vinduer

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

macOS og Linux

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

Hvis miljøet allerede finnes og du trenger å bevare det, aktiver det og prøv:

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

Den offisielle venvdokumentasjonen sier at den ensurepipbrukes til å bootstrappe pip inn i nye miljøer som standard.

Terminal som viser oppretting og aktivering av et dot-venv-miljø etterfulgt av en pip-versjonssjekk og pakkeinstallasjon.
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.

Vinduer

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

macOS og Linux

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

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

Kodeeditor som viser Python-kode som skriver ut pip-versjonen og Python-kjørbar fil, med et vellykket terminalresultat.
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:

import subprocess
import sys

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

Se Bruke pip fra programmet ditt i den offisielle pip-brukerhåndboken .

Vanlige feil som holder feilen i live

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

Legg igjen en kommentar

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.

Slik fikser du ModuleNotFoundError: Ingen modul kalt 'pip' i Python 3

Slik fikser du ModuleNotFoundError: Ingen modul kalt 'pip' i Python 3

Fiks Python 3s ModuleNotFoundError for pip på Windows, macOS og Linux med ensurepip, OS-pakker, virtuelle miljøer og tolkekontroller.

Slik fikser du «Ingen tillatelse (offentlig nøkkel)» i GitHub SSH

Slik fikser du «Ingen tillatelse (offentlig nøkkel)» i GitHub SSH

Fiks GitHub SSH-tillatelse nektet (offentlig nøkkel) ved å sjekke verten, aktiv SSH-nøkkel, GitHub-konto, SSO-autorisasjon, ekstern URL og port 22-tilgang.

How to Fix “Git Push Rejected: Non-Fast-Forward” Without Losing Changes

How to Fix “Git Push Rejected: Non-Fast-Forward” Without Losing Changes

Fix a Git non-fast-forward push safely. Protect local work, fetch remote commits, choose merge or rebase, resolve conflicts, and push without losing changes.

Slik fikser du "Nginx 502 Bad Gateway" når du bruker proxy til Node.js

Slik fikser du "Nginx 502 Bad Gateway" når du bruker proxy til Node.js

Rett Nginx 502 Bad Gateway-feil med en Node.js-oppstrøm ved å sjekke appporten, NGINX-logger, proxy_pass-adresse, containernettverk, tidsavbrudd og omlasting.

Slik fikser du «Typen 'null' kan ikke tilordnes til type» i TypeScript

Slik fikser du «Typen 'null' kan ikke tilordnes til type» i TypeScript

Rett TypeScripts feilmelding «Typen 'null' kan ikke tilordnes til type» med unionstyper, innsnevring, standardverdier og sikre påstander under strictNullChecks.

Slik fikser du feilen «Prisma Client has not been generated yet»

Slik fikser du feilen «Prisma Client has not been generated yet»

Fiks feilen med at Prisma Client ikke er generert ved å sjekke generatoren, skjemaet, utdatastien, importene, versjonene, monorepo-oppsettet og byggetrinnene ved distribusjon.

Slik fikser du «ERR_MODULE_NOT_FOUND» i Node.js ESM-importer

Slik fikser du «ERR_MODULE_NOT_FOUND» i Node.js ESM-importer

Fiks Node.js ERR_MODULE_NOT_FOUND i ESM ved å sjekke importstier, filtyper, pakkeinstallasjon, eksport, ESM-modus og rene installasjoner.

Slik løser du SSL-sertifikatproblemet: Unable to Get Local Issuer Certificate i Git

Slik løser du SSL-sertifikatproblemet: Unable to Get Local Issuer Certificate i Git

Løs Git-feilmeldingen 'unable to get local issuer certificate' ved å identifisere tillitsbakgrunnen, installere riktig CA-kjede og beholde SSL-verifisering aktivert.

Slik løser du MongoDB nettverksavbrudd i Mongoose-tilkoblingen

Slik løser du MongoDB nettverksavbrudd i Mongoose-tilkoblingen

Løs MongoDB nettverksavbrudd i Mongoose ved å identifisere avbruddstypen, teste Atlas- eller TCP-tilgjengelighet, korrigere URI-en, og justere tidsavbrudd kun når det er berettiget.