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 serBedste første handlingHvorfor
python -m pipsiger intet modul med navnet pipLøbepython -m ensurepip --upgradeCPython kan bootstrappe sin bundtede pip uden at downloade den
pipvirker, men python -m pipmislykkesKontroller sys.executableog eksekverbare stierDu blander sandsynligvis Python-installationer
No module named ensurepipBrug din distributørs pakkehåndtering eller reparer Python-installationenensurepiper valgfrit, og distributører kan udelade det
Et virtuelt miljø mangler pipBootstrap pip inde i det eller genskab miljøetvenvinstallerer normalt pip, medmindre --without-pipdet blev brugt
externally-managed-environmentvises på LinuxSkab 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

macOS og Linux

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

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 .

Windows-kommandoprompt viser Python 3 og ModuleNotFoundError efter forsøg på at importere pip.
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.

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

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 kommando installerer eller opdaterer pip-versionen, der følger med den Python-udgivelse. Den sidste kommando kan derefter opdatere pip fra dens konfigurerede pakkeindeks. Se Python- ensurepipdokumentationen og den officielle pip-installationsvejledning .

Linux-terminal viser python3 ensurepip efterfulgt af en vellykket python3 -m pip versionskontrol.
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:

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

Bekræft derefter med:

python3 -m pip --version

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 Python til Windows-installationsskærm, der viser standardinstallationsindstillingen og afkrydsningsfeltet PATH.
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.

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 findes, og du har brug for at bevare det, skal du aktivere det og prøve:

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

Den officielle venvdokumentation angiver, at den ensurepipsom standard bruges til at bootstrappe pip i nye miljøer.

Terminal, der viser oprettelse og aktivering af et dot-venv-miljø efterfulgt af en pip-versionskontrol og pakkeinstallation.
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.

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

Kodeeditor, der viser Python-kode, der udskriver pip-versionen og den eksekverbare Python-fil med et vellykket terminalresultat.
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:

import subprocess
import sys

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

Se Brug af pip fra dit program i den officielle pip-brugervejledning .

Almindelige fejl, der holder fejlen i live

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

Efterlad en kommentar

Sådan rettes "ENOSPC: Systemgrænse for filovervågning nået" i Linux

Sådan rettes "ENOSPC: Systemgrænse for filovervågning nået" i Linux

Ret fejl i Linux ENOSPC-filovervågning ved at kontrollere inotify-grænser, finde processer med mange overvågningsbehov, hæve grænser sikkert og gøre ændringer permanente.

Sådan rettes "Tailwind CSS-stilarter opdateres ikke" i en Vite React-app

Sådan rettes "Tailwind CSS-stilarter opdateres ikke" i en Vite React-app

Ret problemer med Tailwind CSS-stilarter, der ikke opdateres i Vite React, ved at kontrollere Tailwind v4-opsætning, CSS-import, kildekodedetektion, dynamiske klasser, HMR og forældede cacher.

Sådan rettes ModuleNotFoundError: Intet modul med navnet 'pip' i Python 3

Sådan rettes ModuleNotFoundError: Intet modul med navnet 'pip' i Python 3

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

Sådan rettes "Tilladelse nægtet (offentlig nøgle)" i GitHub SSH

Sådan rettes "Tilladelse nægtet (offentlig nøgle)" i GitHub SSH

Ret GitHub SSH-tilladelse nægtet (publickey) ved at kontrollere værten, den aktive SSH-nøgle, GitHub-kontoen, SSO-godkendelsen, den eksterne URL og port 22-adgang.

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.

Sådan rettes "Nginx 502 Bad Gateway" ved proxy til Node.js

Sådan rettes "Nginx 502 Bad Gateway" ved proxy til Node.js

Ret Nginx 502 Bad Gateway-fejl med en Node.js upstream ved at kontrollere app-porten, NGINX-logfiler, proxy_pass-adresse, containernetværk, timeouts og genindlæsning.

Sådan rettes "Type 'null' kan ikke tildeles til type" i TypeScript

Sådan rettes "Type 'null' kan ikke tildeles til type" i TypeScript

Retter TypeScripts fejl "Type 'null' kan ikke tildeles til type" med foreningstyper, indsnævring, standardværdier og sikre påstande under strictNullChecks.

Sådan retter du fejlen "Prisma Client Has Not Been Generated Yet"

Sådan retter du fejlen "Prisma Client Has Not Been Generated Yet"

Ret fejlen med Prisma Client, der ikke er genereret, ved at kontrollere din generator, schema, output-sti, imports, versioner, monorepo-opsætning og build-trin til deployment.

Sådan rettes "ERR_MODULE_NOT_FOUND" i Node.js ESM-importer

Sådan rettes "ERR_MODULE_NOT_FOUND" i Node.js ESM-importer

Ret Node.js ERR_MODULE_NOT_FOUND i ESM ved at kontrollere importstier, filtypenavne, pakkeinstallation, eksport, ESM-tilstand og rene installationer.

Sådan løser du SSL-certifikatproblemet: Unable to get local issuer certificate i Git

Sådan løser du SSL-certifikatproblemet: Unable to get local issuer certificate i Git

Løs Git-fejlen 'unable to get local issuer certificate' ved at identificere tillidsbackenden, installere den korrekte CA-kæde og holde SSL-verifikation aktiveret.