Kuinka korjata ModuleNotFoundError: Ei moduulia nimeltä 'pip' Python 3:ssa

ModuleNotFoundError: No module named 'pip'tarkoittaa, että komentoasi suorittava Python-tulkki ei voi tuoda pip-pakettia. Syynä on yleensä yksi neljästä asiasta: pip-pakettia ei ole koskaan käynnistetty, käytät eri Python-asennusta kuin luulet, virtuaaliympäristö on luotu ilman pip-pakettia tai se on vioittunut tai Linux-jakelijasi hallitsee pip-pakettia erillään Pythonin perusasennuksesta.

Turvallisin korjaus on työskennellä tulkista ulospäin. Ensin tunnistetaan tarkka Python-suoritettava tiedosto, kokeillaan sitten Pythonin sisäänrakennettua ensurepipmoduulia ja siirrytään käyttöjärjestelmän paketinhallintaan vasta, get-pip.pykun sisäänrakennettu metodi ei ole käytettävissä. Virallinen pip-dokumentaatio suosittelee pip-komennon kutsumista moduulina – python -m pipUnix-tyyppisissä järjestelmissä tai py -m pipWindowsissa – koska se sitoo pip-komennon tiettyyn tulkkiin.

Pikaopas: valitse oikea ratkaisu

Mitä näetParas ensimmäinen toimenpideMiksi
python -m pipsanoo, ettei pip-nimistä moduulia oleJuoksepython -m ensurepip --upgradeCPython voi käynnistää mukana tulevan pip-tiedostonsa lataamatta sitä
piptoimii, mutta python -m pipepäonnistuuTarkistus- sys.executableja suorituspolutTodennäköisesti sekoitat Python-asennuksia
No module named ensurepipKäytä jakelijan pakettienhallintaa tai korjaa Pythonin asennusensurepipon valinnainen ja jakelijat voivat jättää sen pois
Virtuaaliympäristöstä puuttuu pipBootstrap-pip sen sisällä tai luo ympäristö uudelleenvenvasentaa normaalisti pipin, ellei --without-pipsitä käytetty
externally-managed-environmentnäkyy LinuxissaLuo virtuaaliympäristöJärjestelmän Pythonia hallinnoi tarkoituksella käyttöjärjestelmän paketinhallinta.

Vaihe 1: Vahvista, mistä Python-tulkista puuttuu pip

Älä aloita asentamalla uudelleen satunnaisia ​​paketteja. Kysy ensin samalta tulkilta, onko pip-tiedosto olemassa.

Ikkunat

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

macOS ja Linux

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

Jos erillinen moduuli piptai pip3komento osoittaa yhteen asennukseen, kun taas pythontai osoittaa toiseen, ongelmana on tulkin yhteensopimattomuus, ei välttämättä puuttuva pip-asennus. Käytä mieluiten virallisessa pip-käyttöoppaassapython3 esitettyä moduulimuotoa .

Windowsin komentokehote, jossa näkyy Python 3 ja ModuleNotFoundError pip-tiedoston tuontiyrityksen jälkeen.
Virhe liittyy käynnissä olevaan Python-tulkkiin; tunnista kyseinen tulkki ennen asennuksen muuttamista.

macOS:ssä sama oire voi ilmetä Päätteessä, kun python3se ratkaisee Python-asennuksen, joka ei sisällä pip-komentosarjaa.

macOS-pääte, jossa näkyy Python 3 ja ModuleNotFoundError-virhe pip-funktiolle.
macOS:ssä ja Linuxissa käytä , python3 -m pipjotta pip-komento on sidottu käyttämään Python 3 -tulkkiin.

Vaihe 2: Palauta pip ensurepip-komennolla

Normaalissa CPython-asennuksessa ensurepipon ensimmäinen kokeiltava korjausmenetelmä. Pythonin dokumentaatiossa sanotaan, että moduuli käynnistää pip-komennon tulkin mukana toimitetuista komponenteista eikä tarvitse internet-yhteyttä kyseiseen käynnistysvaiheeseen. Moduuli lisättiin Python 3.4:ssä.

Ikkunat

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

macOS ja Linux

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

Ensimmäinen komento asentaa tai päivittää kyseisen Python-julkaisun mukana tulevan pip-version. Viimeinen komento voi sitten päivittää pipin sen määritetystä paketti-indeksistä. Katso Pythonin ensurepipdokumentaatio ja virallinen pipin asennusopas .

Linux-pääte näyttää python3 ensurepip -komennon ja sen jälkeen onnistuneen python3 -m pip -version tarkistuksen.
Onnistuneen ensurepipsuorituksen jälkeen tulisi suorittaa version tarkistus samalla Python-tulkilla.

Vaihe 3: Jos ensurepip puuttuu, käytä Pythonin asentajalle sopivaa menetelmää

Nykyisessä Pythonin dokumentaatiossa mainitaan nimenomaisesti, että se ensurepipon valinnainen. Jos CPython-kopiosi ei sisällä sitä, Python suosittelee ottamaan yhteyttä kyseisen tulkin toimittajaan. Tämä on erityisen tärkeää Linuxissa, jossa käyttöjärjestelmä saattaa tarkoituksella pakata pip-tulkin erikseen.

Ubuntu- tai Debian-tyylinen Python-järjestelmä

Ubuntua varten virallinen pakettiarkisto tarjoaa paketin python3-pip. Tyypillinen järjestelmäpaketin asennus on:

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

Vahvista sitten seuraavasti:

python3 -m pip --version

Käytä jakelusi omaa pakettidokumentaatiota sen sijaan, että kopioisit komennon aptmuuhun kuin Debian-jakeluun. Ubuntun python3-pip-pakettisivu vahvistaa, että paketti jaetaan erikseen.

Python asennettu osoitteesta python.org

Jos virallinen python.org-asennus on vioittunut eikä ensurepipole odottamatta käytettävissä, kyseisen Python-asennuksen korjaaminen tai uudelleenasentaminen on usein puhtaampaa kuin tiedostojen manuaalinen korjaaminen. Lataa vain Pythonin viralliselta lataussivulta .

Python for Windows -asennusohjelman näyttö, jossa näkyy vakioasennusvaihtoehto ja PATH-valintaruutu.
Klassinen Python for Windows -asennusohjelman näkymä havainnollistaa korjaus- tai uudelleenasennuspolkua; saatavilla olevat versiot ja asennusohjelman asetukset voivat vaihdella Pythonin julkaisun mukaan.

Entä get-pip.py?

Pip-ylläpitäjät listaavat get-pip.pytuetun asennustavan, kun pip puuttuu. Python Packaging -käyttöopas suosittelee kokeilemista ensurepipensin ja varoittaa, että se get-pip.pyei ole koordinoitavissa käyttöjärjestelmän pakettienhallinnan kanssa. Tällä varoituksella on merkitystä jakelussa hallituissa Python-asennuksissa.

Jos käytät bootstrap-skriptiä tarkoituksella, hanki se vain virallisen pip-asennusdokumentaation linkittämästä sijainnista . Älä käytä satunnaista kopiota foorumilta, Gist-sivustolta tai kolmannen osapuolen lataussivustolta.

Vaihe 4: Korjaa virtuaaliympäristö järjestelmän Pythonin muokkaamisen sijaan

Pythonin venvmoduuli asentaa pip:n oletuksena, ellei ympäristöä ole luotu --without-pip. Jos olemassa oleva ympäristö on kertakäyttöinen, sen uudelleenluominen on usein nopeampaa ja toistettavampaa kuin osittain rikkinäisen pakettihakemiston korjaaminen.

Ikkunat

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

macOS ja Linux

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

Jos ympäristö on jo olemassa ja sinun on säilytettävä se, aktivoi se ja kokeile:

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

Virallisessa dokumentaatiossa todetaan, että sitä käytetäänvenvensurepip oletusarvoisesti pipin käynnistämiseen uusiin ympäristöihin.

Pääteikkuna, jossa näkyy dot-venv-ympäristön luominen ja aktivointi, jota seuraa pip-version tarkistus ja paketin asennus.
Uusi virtuaaliympäristö eristää projektipaketit järjestelmätulkista ja sisältää yleensä oman pip-tiedostonsa.

Miksi tällä on merkitystä nykyaikaisissa Linux-jakeluissa

PEP 668 määrittelee EXTERNALLY-MANAGEDjakelijoiden käyttämän merkin, jolla Python-pakettien asentajille ilmoitetaan, etteivät he muokkaa järjestelmätulkin globaalia pakettikontekstia oletusarvoisesti. Jos pip raportoi ulkoisesti hallitusta ympäristöstä, se on eri ongelma kuin "pip puuttuu". Suositeltu malli on yleensä luoda virtuaaliympäristö globaalin asennuksen pakottamisen sijaan. Katso PEP 668 .

Vaihe 5: Tarkista korjaus samalla tulkilla, jota tulet itse asiassa käyttämään

Korjausten jälkeen tarkista sekä pip että kohdepaketti samasta Python-suoritettavasta tiedostosta.

Ikkunat

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

macOS ja Linux

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

Jos työskentelet IDE:ssä tai kannettavassa tietokoneessa, tarkista myös kyseisen työkalun valitsema tulkki. Yleinen virhe on asentaa paketteja yhdellä Python-päätelaitteella, kun editori suorittaa toista Pythonia tai toista virtuaaliympäristöä.

Koodieditori, joka näyttää Python-koodin, joka tulostaa pip-version ja Python-suoritettavan tiedoston onnistuneella päätetuloksella.
Kun IDE edelleen raportoi puuttuvia paketteja, vertaa sen Python-suoritustiedostoa onnistuneessa pip-komennossa käytettyyn tulkkiin.

Pitääkö sinun todella tuoda pip Python-koodiisi?

Yleensä ei. pipin omassa dokumentaatiossa sanotaan, että pip on komentoriviohjelma ja että sen sisäisiä API-rajapintoja ei tueta julkisena Python-API:na. Vaikka se import pipsaattaa toimia asennuksen jälkeen, sovelluskoodin ei pitäisi olla riippuvainen pipin sisäisistä ominaisuuksista.

Jos komentosarjan on todella kutsuttava pip-komentosarjaa, pip-dokumentaatio suosittelee sen käynnistämistä aliprosessina nykyisellä tulkilla:

import subprocess
import sys

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

Katso Pipin käyttö ohjelmassasi virallisesta pip-käyttöoppaasta .

Yleisiä virheitä, jotka pitävät virheen elossa

  • Suorittaminen, pip install pipkun pip puuttuu: käytä ensurepipensin , käyttöjärjestelmän paketinhallintaa tai virallista bootstrap-metodia.
  • Käyttö sudo pipjakelun hallinnoimassa Pythonissa: tämä voi olla ristiriidassa käyttöjärjestelmän paketin omistajuuden kanssa. Suosi virtuaaliympäristöä.
  • PATH-ongelman korjaaminen, kun itse moduuli puuttuu: PATH hallitsee, löytääkö komentotulkki suoritettavan tiedoston; se ei asenna moduulia pipPython-tulkkiin.
  • Asennus väärään Python-versioon: käytä python -m pip, python3 -m pip, tai py -m pipsen sijaan, että olettaisit pelkän pipkomennon kohdistavan oikeaan tulkkiin.
  • Siirretyn virtuaaliympäristön uudelleenkäyttö: Pythonin venv-dokumentaatio kuvaa ympäristöjä kertakäyttöisiksi ja yleensä ei-sisäänkuljetettaviksi. Luo siirretty ympäristö uudelleen sen sijaan, että yrittäisit korjata kiinteästi koodattuja polkuja.

Lopullinen tarkistuslista

  • Vahvista tarkka Python-suoritettava tiedosto sys.executable.
  • Aja pip kyseisen tulkin läpi komennolla -m pip.
  • Kokeile ensurepip --upgradeennen kuin lataat toisen käynnistystyökalun.
  • Jos ensurepipei ole saatavilla, noudata jakelijan paketienhallintaohjeita.
  • Käytä virtuaaliympäristöä projektiriippuvuuksille, erityisesti ulkoisesti hallinnoiduissa Linux-asennuksissa.
  • Tarkista tulos samasta päätteestä, IDE:stä, muistikirjasta tai palvelun ajonaikaisesta ympäristöstä, joka suorittaa projektisi.

Useimmissa Python 3 -asennuksissa lyhintä luotettavaa korjausta python -m ensurepip --upgradeseuraa python -m pip --version, korvaamalla python3sen Unix-tyyppisissä järjestelmissä tai pyWindowsissa tilanteen mukaan. Jos tämä epäonnistuu, koska ensurepippuuttuu, pysähdy ja selvitä, kuka toimitti Python-asennuksesi, ennen kuin valitset seuraavan korjausmenetelmän.

Jätä kommentti

Kuinka korjata "ENOSPC: Järjestelmän raja tiedostojen tarkkailijoille saavutettu" Linuxissa

Kuinka korjata "ENOSPC: Järjestelmän raja tiedostojen tarkkailijoille saavutettu" Linuxissa

Korjaa Linux ENOSPC -tiedostojen tarkkailijan virheet tarkistamalla inotify-rajoitukset, etsimällä tarkkailijapainotteisia prosesseja, nostamalla rajoituksia turvallisesti ja tekemällä muutoksista pysyviä.

Kuinka korjata "Tailwind CSS Styles Not Update" -ongelma Vite React -sovelluksessa

Kuinka korjata "Tailwind CSS Styles Not Update" -ongelma Vite React -sovelluksessa

Korjaa Tailwind CSS -tyylien päivittymättömyys Vite Reactissa tarkistamalla Tailwind v4 -asetukset, CSS-tuonnit, lähteen tunnistus, dynaamiset luokat, HMR ja vanhentuneet välimuistit.

Kuinka korjata ModuleNotFoundError: Ei moduulia nimeltä 'pip' Python 3:ssa

Kuinka korjata ModuleNotFoundError: Ei moduulia nimeltä 'pip' Python 3:ssa

Korjaa Python 3:n ModuleNotFoundError-virhe pip-funktiolle Windowsissa, macOS:ssä ja Linuxissa ensurepip-komennolla, käyttöjärjestelmäpaketeilla, virtuaaliympäristöillä ja tulkkitarkistuksilla.

Kuinka korjata "Käyttöoikeus evätty (julkinen avain)" GitHub SSH:ssa

Kuinka korjata "Käyttöoikeus evätty (julkinen avain)" GitHub SSH:ssa

Korjaa GitHub SSH -käyttöoikeus evätty (julkinen avain) -ongelma tarkistamalla isäntä, aktiivinen SSH-avain, GitHub-tili, kertakirjautumisen valtuutus, etä-URL-osoite ja portin 22 käyttöoikeus.

Kuinka korjata "Git Push Rejected: Non-Fast-Forward" menettämättä muutoksia

Kuinka korjata "Git Push Rejected: Non-Fast-Forward" menettämättä muutoksia

Korjaa Gitin ei-pikakelausvirhe turvallisesti. Suojaa paikallinen työ, nouda etäcommitit, valitse yhdistäminen tai uudelleenpohjustaminen, ratkaise ristiriidat ja puske muutosten menettämättä.

Kuinka korjata "Nginx 502 Bad Gateway" -virhe, kun välityspalvelimena käytetään Node.js:ää

Kuinka korjata "Nginx 502 Bad Gateway" -virhe, kun välityspalvelimena käytetään Node.js:ää

Korjaa Nginx 502 Bad Gateway -virheet Node.js:n avulla ylävirran puolella tarkistamalla sovellusportti, NGINX-lokit, proxy_pass-osoite, säilöverkko, aikakatkaisut ja uudelleenlataus.

Kuinka korjata "Type 'null' ei ole määritettävissä tyypille" TypeScriptissä

Kuinka korjata "Type 'null' ei ole määritettävissä tyypille" TypeScriptissä

Korjaa TypeScriptin virhe ”Type 'null' ei ole määritettävissä tyypille” yhdistämistyypeillä, rajaamisella, oletusarvoilla ja turvallisilla väitteillä strictNullChecksin avulla.

Kuinka korjata "Prisma Client has not been generated yet" -virhe

Kuinka korjata "Prisma Client has not been generated yet" -virhe

Korjaa Prisma Clientin luontivirhe tarkistamalla generaattori, skeema, tulostepolku, importit, versiot, monorepo-asetukset ja käyttöönoton build-vaiheet.

Kuinka korjata "ERR_MODULE_NOT_FOUND" Node.js ESM -tuonneissa

Kuinka korjata "ERR_MODULE_NOT_FOUND" Node.js ESM -tuonneissa

Korjaa Node.js ERR_MODULE_NOT_FOUND ESM:ssä tarkistamalla tuontipolut, tiedostopäätteet, pakettien asennuksen, viennit, ESM-tilan ja puhtaat asennukset.

Kuinka korjata SSL-varmenneongelma: Paikallisen myöntäjän varmenteen haku epäonnistui Gitissä

Kuinka korjata SSL-varmenneongelma: Paikallisen myöntäjän varmenteen haku epäonnistui Gitissä

Korjaa Gitin virhe "paikallisen myöntäjän varmenteen haku epäonnistui" tunnistamalla luottamuksen taustajärjestelmä, asentamalla oikea CA-ketju ja pitämällä SSL-varmenteiden tarkistus päällä.