Så här åtgärdar du ModuleNotFoundError: Ingen modul med namnet 'pip' i Python 3

ModuleNotFoundError: No module named 'pip'betyder att Python-tolken som kör ditt kommando inte kan importera pip-paketet. Orsaken är vanligtvis en av fyra saker: pip startades aldrig, du använder en annan Python-installation än du tror, ​​en virtuell miljö skapades utan pip eller blev skadad, eller så hanterar din Linux-distributör pip separat från Python-basinstallationen.

Den säkraste reparationen är att arbeta utifrån tolken. Identifiera först den exakta Python-körbara filen, prova sedan Pythons inbyggda ensurepipmodul och byt bara till en pakethanterare i ett operativsystem eller get-pip.pynär den inbyggda metoden inte är tillgänglig. Den officiella pip-dokumentationen rekommenderar att pip anropas som en modul – python -m pippå Unix-liknande system eller py -m pippå Windows – eftersom det knyter pip till en specifik tolk.

Snabbreferens: välj rätt lösning

Vad du serBästa första åtgärdenVarför
python -m pipsäger ingen modul med namnet pipSiktpython -m ensurepip --upgradeCPython kan starta upp sin medföljande pip utan att ladda ner den
pipfungerar, men python -m pipmisslyckasKontrollera sys.executableoch körbara sökvägarDu blandar förmodligen ihop Python-installationer
No module named ensurepipAnvänd din distributörs pakethanterare eller reparera Python-installationenensurepipär valfritt och distributörer kan utelämna det
En virtuell miljö saknar pipBootstrap pip inuti den eller återskapa miljönvenvinstallerar normalt pip om inte --without-pipanvändes
externally-managed-environmentvisas på LinuxSkapa en virtuell miljöSystemet Python hanteras avsiktligt av operativsystemets pakethanterare

Steg 1: Bekräfta vilken Python-tolk som saknar pip

Börja inte med att ominstallera slumpmässiga paket. Fråga först samma interpreter om pip finns.

Fönster

py --version
py -m pip --version
py -c "import sys; print(sys.executable)"
where python
where pip

macOS och Linux

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

Om ett fristående kommando pipeller pip3ett kommando pekar på en installation medan pythoneller python3pekar på en annan, är problemet en tolkningsmatchning, inte nödvändigtvis en saknad pip-installation. Föredra modulformen som visas i den officiella pip-användarhandboken .

Windows kommandotolk visar Python 3 och ModuleNotFoundError efter försök att importera pip.
Felet är kopplat till den Python-tolk som körs för närvarande; identifiera den tolken innan du ändrar din installation.

På macOS kan samma symptom uppstå i Terminal när python3den löses till en Python-installation som inte innehåller pip.

macOS Terminal som visar Python 3 och ett ModuleNotFoundError för pip.
På macOS och Linux, använd python3 -m pipså att pip-kommandot är kopplat till den Python 3-tolk du avser att använda.

Steg 2: Återställ pip med ensurepip

För en normal CPython-installation ensurepipär den första reparationsmetoden att prova. Pythons dokumentation säger att modulen bootstrapar pip från komponenter som medföljer interpretern och inte behöver internetåtkomst för det bootstrap-steget. Modulen lades till i Python 3.4.

Fönster

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

macOS och Linux

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

Det första kommandot installerar eller uppdaterar pip-versionen som medföljer den Python-utgåvan. Det sista kommandot kan sedan uppdatera pip från dess konfigurerade paketindex. Se Python- ensurepipdokumentationen och den officiella pip-installationsguiden .

Linuxterminal som visar python3 ensurepip följt av en lyckad python3 -m pip-versionskontroll.
En lyckad ensurepipkörning bör följas av en versionskontroll med samma Python-tolk.

Steg 3: Om ensurepip saknas, använd den metod som är lämplig för den som installerade Python.

Nuvarande Python-dokumentation anger uttryckligen att det ensurepipär valfritt. Om din kopia av CPython inte inkluderar det rekommenderar Python att du konsulterar distributören som levererade den tolken. Detta är särskilt viktigt på Linux, där operativsystemet avsiktligt kan paketera pip separat.

Ubuntu eller Debian-liknande system Python

För Ubuntu tillhandahåller det officiella paketarkivet ett python3-pippaket. En typisk systempaketinstallation är:

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

Verifiera sedan med:

python3 -m pip --version

Använd din distributions egen paketdokumentation istället för att kopiera ett aptkommando till en icke-Debian-distribution. Ubuntu-paketsidan för python3-pip bekräftar att paketet distribueras separat.

Python installerat från python.org

Om en officiell python.org-installation är skadad och ensurepipoväntat inte är tillgänglig, är det ofta smidigare att reparera eller ominstallera Python-installationen än att uppdatera filer manuellt. Ladda endast ner från den officiella Python-nedladdningssidan .

En installationsskärm för Python för Windows som visar standardinstallationsalternativet och kryssrutan PATH.
En klassisk installationsvy för Python för Windows illustrerar reparations- eller ominstallationssökvägen; tillgängliga versioner och installationskontroller kan variera beroende på Python-utgåva.

Vad sägs om get-pip.py?

PIP-underhållarna listar get-pip.pysom en installationsmekanism som stöds när pip saknas. Python Packaging User Guide rekommenderar att man försöker ensurepipförst och varnar för att det get-pip.pyinte koordinerar med operativsystemets pakethanterare. Den varningen är viktig för distributionshanterade Python-installationer.

Om du avsiktligt använder bootstrap-skriptet, hämta det endast från den plats som länkas av den officiella pip-installationsdokumentationen . Använd inte en slumpmässig kopia från ett forum, GIST eller en nedladdningssajt från tredje part.

Steg 4: Reparera en virtuell miljö istället för att modifiera system Python

Pythons venvmodul installerar pip som standard om inte miljön skapades med --without-pip. Om en befintlig miljö är engångsanvändning är det ofta snabbare och mer reproducerbart att återskapa den än att försöka reparera en delvis trasig paketkatalog.

Fönster

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

macOS och Linux

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

Om miljön redan finns och du behöver bevara den, aktivera den och försök:

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

Den officiella venvdokumentationen anger att den ensurepipanvänds för att starta pip i nya miljöer som standard.

Terminal som visar skapande och aktivering av en dot-venv-miljö följt av en pip-versionskontroll och paketinstallation.
En ny virtuell miljö isolerar projektpaket från systemtolken och inkluderar normalt sin egen pip.

Varför detta är viktigt på moderna Linuxdistributioner

PEP 668 definierar EXTERNALLY-MANAGEDmarkören som används av distributörer för att tala om för Python-paketinstallatörer att inte ändra systemtolkens globala paketkontext som standard. Om pip rapporterar en externt hanterad miljö är det ett annat problem än "pip saknas". Det rekommenderade mönstret är vanligtvis att skapa en virtuell miljö snarare än att tvinga fram en global installation. Se PEP 668 .

Steg 5: Verifiera korrigeringen med samma tolk som du faktiskt kommer att använda

Efter varje reparation, verifiera både pip och ditt målpaket från samma Python-körbara fil.

Fönster

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

macOS och Linux

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

Om du arbetar inuti en IDE eller anteckningsbok, kontrollera även vilken tolk som valts av det verktyget. Ett vanligt felmönster är att installera paket med en Python-terminal medan editorn kör en annan Python- eller en annan virtuell miljö.

Kodredigerare som visar Python-kod som skriver ut pip-versionen och den körbara Python-filen, med ett lyckat terminalresultat.
När en IDE fortfarande rapporterar saknade paket, jämför dess Python-körbara fil med tolken som användes för ditt lyckade pip-kommando.

Behöver du verkligen importera pip i din Python-kod?

Vanligtvis inte. pips egen dokumentation säger att pip är ett kommandoradsprogram och att dess interna API:er inte stöds som ett publikt Python API. Även om det import pipkan fungera efter installationen, bör programkoden inte vara beroende av pips interna funktioner.

Om ett skript verkligen behöver anropa pip, rekommenderar pip-dokumentationen att det startas som en delprocess med den aktuella tolken:

import subprocess
import sys

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

Se Använda pip från ditt program i den officiella pip-användarhandboken .

Vanliga misstag som håller felet vid liv

  • Körning pip install pipnär pip redan saknas: använd ensurepip, en OS-pakethanterare eller den officiella bootstrap-metoden först.
  • Användning sudo pippå en distributionshanterad Python: detta kan komma i konflikt med operativsystemets paketägarskap. Föredra en virtuell miljö.
  • Åtgärdar PATH när själva modulen saknas: PATH styr om ett skal hittar en körbar fil; det installerar inte pipmodulen i en Python-tolk.
  • Installera i fel Python-version: använd python -m pip, python3 -m pip, eller py -m pipsnarare än att anta att ett rent pipkommando riktar sig mot rätt tolk.
  • Återanvändning av en flyttad virtuell miljö: Pythons venv-dokumentation beskriver miljöer som engångsanvändbara och generellt sett inte portabla. Återskapa en flyttad miljö istället för att försöka reparera hårdkodade sökvägar.

Slutlig checklista

  • Bekräfta den exakta Python-körbara filen med sys.executable.
  • Kör pip genom den tolken med -m pip.
  • Testa ensurepip --upgradeinnan du laddar ner ett annat bootstrap-verktyg.
  • Om ensurepipinte är tillgänglig, följ distributörens instruktioner för pakethantering.
  • Använd en virtuell miljö för projektberoenden, särskilt på externt hanterade Linux-installationer.
  • Verifiera resultatet från samma terminal, IDE, anteckningsbok eller tjänstkörning som kör ditt projekt.

python -m ensurepip --upgradeFör de flesta vanliga Python 3-installationer följs den kortaste tillförlitliga lösningen av python -m pip --version, som ersätter python3på Unix-liknande system eller pypå Windows beroende på vad som är lämpligt. Om det misslyckas på grund av ensurepipatt saknas, stoppa och identifiera vem som levererade din Python-installation innan du väljer nästa reparationsmetod.

Lämna en kommentar

Hur man åtgärdar "Tailwind CSS-stilar uppdateras inte" i en Vite React-app

Hur man åtgärdar "Tailwind CSS-stilar uppdateras inte" i en Vite React-app

Åtgärda Tailwind CSS-stilar som inte uppdateras i Vite React genom att kontrollera Tailwind v4-inställningar, CSS-importer, källkodsidentifiering, dynamiska klasser, HMR och inaktuella cacher.

Så här åtgärdar du ModuleNotFoundError: Ingen modul med namnet 'pip' i Python 3

Så här åtgärdar du ModuleNotFoundError: Ingen modul med namnet 'pip' i Python 3

Åtgärda Python 3:s ModuleNotFoundError för pip på Windows, macOS och Linux med ensurepip, OS-paket, virtuella miljöer och tolkkontroller.

Hur man åtgärdar "Tillstånd nekad (publickey)" i GitHub SSH

Hur man åtgärdar "Tillstånd nekad (publickey)" i GitHub SSH

Åtgärda GitHub SSH-behörighet nekad (publickey) genom att kontrollera värden, aktiv SSH-nyckel, GitHub-konto, SSO-auktorisering, fjärr-URL och port 22-åtkomst.

Hur man åtgärdar "Git Push Rejected: Non-Spolar framåt" utan att förlora ändringar

Hur man åtgärdar "Git Push Rejected: Non-Spolar framåt" utan att förlora ändringar

Åtgärda en Git-push som inte snabbspolar framåt på ett säkert sätt. Skydda lokalt arbete, hämta fjärrcommits, välj merge eller rebase, lös konflikter och pusha utan att förlora ändringar.

Hur man åtgärdar "Nginx 502 Bad Gateway" vid proxyanvändning till Node.js

Hur man åtgärdar "Nginx 502 Bad Gateway" vid proxyanvändning till Node.js

Åtgärda Nginx 502 Bad Gateway-fel med en Node.js-uppström genom att kontrollera appporten, NGINX-loggarna, proxy_pass-adressen, containernätverk, timeouts och omladdning.

How to Fix “Type 'null' Is Not Assignable to Type” in TypeScript

How to Fix “Type 'null' Is Not Assignable to Type” in TypeScript

Fix TypeScript's “Type 'null' is not assignable to type” error with union types, narrowing, defaults, and safe assertions under strictNullChecks.

Så här åtgärdar du felet ”Prisma Client has not been generated yet”

Så här åtgärdar du felet ”Prisma Client has not been generated yet”

Åtgärda felet att Prisma Client inte har genererats genom att kontrollera din generator, ditt schema, utdatasökvägen, importerna, versionerna, monorepo-konfigurationen och byggstegen vid distribution.

Hur man åtgärdar "ERR_MODULE_NOT_FOUND" i Node.js ESM-importer

Hur man åtgärdar "ERR_MODULE_NOT_FOUND" i Node.js ESM-importer

Åtgärda Node.js ERR_MODULE_NOT_FOUND i ESM genom att kontrollera importsökvägar, filtillägg, paketinstallation, exporter, ESM-läge och rena installationer.

Så här åtgärdar du SSL-certifikatproblemet: Unable to Get Local Issuer Certificate i Git

Så här åtgärdar du SSL-certifikatproblemet: Unable to Get Local Issuer Certificate i Git

Åtgärda Gits fel 'unable to get local issuer certificate' genom att identifiera förtroendebakgrunden, installera rätt CA-kedja och hålla SSL-verifieringen aktiverad.

Så åtgärdar du MongoDB-nätverksavbrott vid Mongoose-anslutning

Så åtgärdar du MongoDB-nätverksavbrott vid Mongoose-anslutning

Åtgärda MongoDB-nätverksavbrott i Mongoose genom att identifiera avbrottstypen, testa Atlas- eller TCP-anslutning, korrigera URI:n och justera tidsgränser endast när det är motiverat.