Kā novērst ModuleNotFoundError kļūdu: Python 3 nav moduļa ar nosaukumu “pip”

ModuleNotFoundError: No module named 'pip'nozīmē, ka Python interpretētājs, kas izpilda jūsu komandu, nevar importēt pip pakotni. Iemesls parasti ir viens no četriem: pip nekad netika startēts, jūs izmantojat citu Python instalāciju, nekā domājat, virtuālā vide tika izveidota bez pip vai ir bojāta, vai jūsu Linux izplatītājs pārvalda pip atsevišķi no Python bāzes instalācijas.

Drošākais labojums ir strādāt no interpretatora uz āru. Vispirms identificējiet precīzu Python izpildāmo failu, pēc tam izmēģiniet Python iebūvēto ensurepipmoduli un pārejiet uz operētājsistēmas pakotņu pārvaldnieku tikai tad, get-pip.pyja iebūvētā metode nav pieejama. Oficiālā pip dokumentācija iesaka izsaukt pip kā moduli — python -m pipUnix tipa sistēmās vai py -m pipWindows —, jo tas saista pip ar konkrētu interpretatoru.

Īsa uzziņa: izvēlieties pareizo risinājumu

Ko jūs redzatLabākā pirmā darbībaKāpēc
python -m pipsaka, ka nav moduļa ar nosaukumu pipSkrienpython -m ensurepip --upgradeCPython var palaist savu komplektā iekļauto pip, to nelejupielādējot
pipdarbojas, bet python -m pipneizdodasPārbaudes sys.executableun izpildāmie ceļiJūs, iespējams, jaucat Python instalācijas
No module named ensurepipIzmantojiet izplatītāja pakotņu pārvaldnieku vai salabojiet Python instalāciju.ensurepipir neobligāts, un izplatītāji to var izlaist
Virtuālajai videi trūkst pipIevietojiet tajā bootstrap pip vai atjaunojiet vidivenvparasti instalē pip, ja vien --without-pipnetika izmantots
externally-managed-environmentparādās operētājsistēmā LinuxIzveidojiet virtuālu vidiSistēmas Python programmēšanas valodu apzināti pārvalda OS pakotņu pārvaldnieks.

1. darbība. Apstipriniet, kuram Python interpretētājam trūkst pip koda.

Nesāciet ar nejaušu pakotņu atkārtotu instalēšanu. Vispirms pajautājiet tam pašam interpretētājam, vai pip eksistē.

Logi

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

macOS un Linux

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

Ja savrupais objekts pipvai pip3komanda norāda uz vienu instalāciju, bet pythonvai python3norāda uz citu, problēma ir interpretētāja neatbilstība, ne vienmēr trūkstoša pip instalācija. Dodiet priekšroku moduļa veidlapai, kas parādīta oficiālajā pip lietotāja rokasgrāmatā .

Windows komandrindā pēc pip importēšanas tiek parādīts Python 3 un ModuleNotFoundError.
Kļūda ir saistīta ar pašlaik palaisto Python interpretētāju; pirms instalācijas maiņas identificējiet šo interpretētāju.

macOS sistēmā tas pats simptoms var parādīties programmā Terminal, ja python3tiek konstatēta Python instalācija, kas nesatur pip.

macOS terminālis, kurā redzams Python 3 un ModuleNotFoundError pip vērtībai.
macOS un Linux operētājsistēmās izmantojiet , python3 -m piplai pip komanda būtu saistīta ar Python 3 interpretētāju, kuru plānojat izmantot.

2. darbība: atjaunojiet pip, izmantojot ensurepip

Parastai CPython instalācijai ensurepippirmā izmēģināmā labošanas metode ir . Python dokumentācijā teikts, ka modulis sāknējas ar pip no komponentiem, kas iekļauti interpretētājā, un šim sāknēšanas solim nav nepieciešama piekļuve internetam. Modulis tika pievienots Python 3.4 versijā.

Logi

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

macOS un Linux

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

Pirmā komanda instalē vai atsvaidzina pip versiju, kas ir iekļauta šajā Python laidienā. Pēdējā komanda pēc tam var atjaunināt pip no tā konfigurētā pakotnes indeksa. Skatiet Python ensurepipdokumentāciju un oficiālo pip instalēšanas rokasgrāmatu .

Linux terminālis, kurā redzams python3 ensurepip, kam seko veiksmīga python3 -m pip versijas pārbaude.
Pēc veiksmīgas ensurepippalaišanas jāveic versijas pārbaude, izmantojot to pašu Python interpretētāju.

3. darbība. Ja trūkst ensurepip, izmantojiet metodi, kas atbilst Python instalētājam.

Pašreizējā Python dokumentācijā ir skaidri norādīts, ka tas ensurepipir neobligāts. Ja jūsu CPython kopijā tas nav iekļauts, Python iesaka konsultēties ar izplatītāju, kas piegādāja šo interpretatoru. Tas ir īpaši svarīgi operētājsistēmā Linux, kur operētājsistēma var apzināti iepakot pip atsevišķi.

Ubuntu vai Debian stila sistēma Python

Ubuntu operētājsistēmai oficiālajā pakotņu arhīvā ir pieejama python3-pippakotne. Tipiska sistēmas pakotnes instalācija ir šāda:

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

Pēc tam pārbaudiet ar:

python3 -m pip --version

Izmantojiet savas distributīvās versijas pakotnes dokumentāciju, nevis kopējiet aptkomandu uz ne-Debian distributīvu. Ubuntu pakotnes lapa par python3-pip apstiprina, ka pakotne tiek izplatīta atsevišķi.

Python instalēts no python.org

Ja oficiālā python.org instalācija ir bojāta un ensurepipnegaidīti nav pieejama, šīs Python instalācijas labošana vai atkārtota instalēšana bieži vien ir vienkāršāka nekā failu manuāla ielāpošana. Lejupielādējiet tikai no oficiālās Python lejupielāžu lapas .

Python operētājsistēmai Windows instalētāja ekrāns, kurā redzama standarta instalēšanas opcija un izvēles rūtiņa PATH.
Klasisks Python operētājsistēmai Windows instalētāja skats ilustrē labošanas vai atkārtotas instalēšanas ceļu; pieejamās versijas un instalētāja vadīklas var atšķirties atkarībā no Python laidiena.

Kā ar get-pip.py?

get-pip.pyJa pip nav pieejams, pip uzturētāji to norāda kā atbalstītu instalēšanas mehānismu. Python Packaging lietotāja rokasgrāmatā ieteicams ensurepipvispirms izmēģināt un brīdināts, ka tas get-pip.pynesaskaņojas ar operētājsistēmas pakotņu pārvaldniekiem. Šim brīdinājumam ir nozīme distro pārvaldītās Python instalācijās.

Ja apzināti izmantojat sāknēšanas skriptu, iegūstiet to tikai no atrašanās vietas, uz kuru ir norādīta saite oficiālajā pip instalēšanas dokumentācijā . Neizmantojiet nejaušu kopiju no foruma, Gist vai trešās puses lejupielādes vietnes.

4. darbība. Virtuālās vides labošana, nevis sistēmas Python modificēšana

Python venvmodulis pēc noklusējuma instalē pip, ja vien vide nav izveidota ar --without-pip. Ja esoša vide ir vienreiz lietojama, tās atkārtota izveide bieži vien ir ātrāka un reproducējamāka nekā mēģinājums labot daļēji bojātu pakotņu direktoriju.

Logi

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

macOS un Linux

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

Ja vide jau pastāv un tā ir jāsaglabā, aktivizējiet to un mēģiniet:

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

Oficiālajā dokumentācijā teikts, ka tas pēcvenvensurepip noklusējuma tiek izmantots, lai palaistu pip jaunās vidēs.

Terminālis, kurā redzama dot-venv vides izveide un aktivizēšana, kam seko pip versijas pārbaude un pakotnes instalēšana.
Jauna virtuālā vide izolē projekta pakotnes no sistēmas interpretatora un parasti ietver savu pip failu.

Kāpēc tas ir svarīgi mūsdienu Linux distribūcijās

PEP 668 definē EXTERNALLY-MANAGEDmarķieri, ko izplatītāji izmanto, lai norādītu Python pakotņu instalētājiem pēc noklusējuma nemaināt sistēmas interpretētāja globālo pakotņu kontekstu. Ja pip ziņo par ārēji pārvaldītu vidi, tā ir cita problēma nekā “pip trūkst”. Ieteicamais modelis parasti ir izveidot virtuālu vidi, nevis piespiest globālu instalēšanu. Skatīt PEP 668 .

5. darbība. Pārbaudiet labojumu ar to pašu tulku, kuru faktiski izmantosiet

Pēc jebkura remonta pārbaudiet gan pip, gan mērķa pakotni no tā paša Python izpildāmā faila.

Logi

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

macOS un Linux

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

Ja strādājat IDE vai piezīmju grāmatiņā, pārbaudiet arī šī rīka atlasīto interpretētāju. Bieži sastopama kļūme ir pakotņu instalēšana, izmantojot vienu termināli, kurā darbojas Python, kamēr redaktors izpilda citu Python vai citu virtuālo vidi.

Koda redaktors, kas rāda Python kodu, kas izdrukā pip versiju un Python izpildāmo failu ar veiksmīgu termināļa rezultātu.
Ja IDE joprojām ziņo par trūkstošām pakotnēm, salīdziniet tās Python izpildāmo failu ar interpretatoru, kas tika izmantots jūsu veiksmīgajai pip komandai.

Vai jums tiešām ir jāimportē pip savā Python kodā?

Parasti nē. Paša pip dokumentācijā teikts, ka pip ir komandrindas programma un ka tās iekšējās API netiek atbalstītas kā publiska Python API. Pat ja import pippēc instalēšanas tas var darboties, lietojumprogrammas kodam nevajadzētu būt atkarīgam no pip iekšējām sastāvdaļām.

Ja skriptam tiešām ir jāizsauc pip, pip dokumentācija iesaka to palaist kā apakšprocesu ar pašreizējo interpretētāju:

import subprocess
import sys

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

Skatiet sadaļu “Pip izmantošana no savas programmas” oficiālajā “pip” lietotāja rokasgrāmatā .

Biežāk pieļautās kļūdas, kas uztur kļūdu dzīvu

  • Darbojas, pip install pipja pip jau trūkst: vispirms izmantojiet ensurepip, OS pakotņu pārvaldnieku vai oficiālo bootstrap metodi.
  • Izmantojot sudo pipdistro pārvaldītā Python vidē: tas var konfliktēt ar operētājsistēmas pakotnes īpašumtiesībām. Priekšroka jādod virtuālai videi.
  • PATH labošana, ja paša moduļa nav: PATH kontrolē, vai čaula atrod izpildāmo failu; tas neinstalē moduli pipPython interpretētājā.
  • Instalēšana nepareizajā Python versijā: izmantojiet python -m pip, python3 -m pip, vai , py -m pipnevis pieņemot, ka vienkārša pipkomanda ir paredzēta pareizajam interpretētājam.
  • Pārvietotas virtuālās vides atkārtota izmantošana: Python venv dokumentācijā vides ir aprakstītas kā vienreiz lietojamas un parasti nav pārnēsājamas. Izveidojiet pārvietotu vidi no jauna, nevis mēģiniet labot cietkodā ierakstītus ceļus.

Galīgais kontrolsaraksts

  • Apstipriniet precīzu Python izpildāmo failu ar sys.executable.
  • Palaidiet pip caur šo interpretatoru ar -m pip.
  • Izmēģiniet ensurepip --upgradepirms cita sāknēšanas rīka lejupielādes.
  • Ja ensurepipnav pieejams, ievērojiet izplatītāja norādījumus par iepakojuma pārvaldību.
  • Izmantojiet virtuālo vidi projektu atkarībām, īpaši ārēji pārvaldītās Linux instalācijās.
  • Pārbaudiet rezultātu no tā paša termināļa, IDE, piezīmju grāmatiņas vai pakalpojuma izpildlaika, kas darbina jūsu projektu.

Vairumam standarta Python 3 instalāciju īsākais un uzticamākais labojums ir python -m ensurepip --upgrade, python -m pip --versionkas python3Unix tipa sistēmās vai pyWindows sistēmās tiek aizstāts atbilstoši nepieciešamībai. Ja tas neizdodas, jo ensurepiptrūkst , apstājieties un noskaidrojiet, kurš nodrošināja jūsu Python instalāciju, pirms izvēlaties nākamo labošanas metodi.

Atstājiet komentāru

Kā novērst kļūdu "ENOSPC: sasniegts failu vērotāju sistēmas ierobežojums" operētājsistēmā Linux

Kā novērst kļūdu "ENOSPC: sasniegts failu vērotāju sistēmas ierobežojums" operētājsistēmā Linux

Novērsiet Linux ENOSPC failu vērotāja kļūdas, pārbaudot inotify ierobežojumus, atrodot procesus, kuros ir daudz vērotāja resursu, droši paaugstinot ierobežojumus un padarot izmaiņas pastāvīgas.

Kā novērst kļūdu “Tailwind CSS stili netiek atjaunināti” Vite React lietotnē

Kā novērst kļūdu “Tailwind CSS stili netiek atjaunināti” Vite React lietotnē

Novērsiet Tailwind CSS stilu neatjaunināšanu pakalpojumā Vite React, pārbaudot Tailwind v4 iestatījumus, CSS importēšanu, avota noteikšanu, dinamiskās klases, HMR un novecojušas kešatmiņas.

Kā novērst ModuleNotFoundError kļūdu: Python 3 nav moduļa ar nosaukumu “pip”

Kā novērst ModuleNotFoundError kļūdu: Python 3 nav moduļa ar nosaukumu “pip”

Novērsiet Python 3 ModuleNotFoundError kļūdu pip funkcijai operētājsistēmās Windows, macOS un Linux, izmantojot ensurepip, OS pakotnes, virtuālās vides un interpretētāja pārbaudes.

Kā GitHub SSH novērst kļūdu "Atļauja liegta (publiskā atslēga)"

Kā GitHub SSH novērst kļūdu "Atļauja liegta (publiskā atslēga)"

Novērsiet GitHub SSH atļaujas liegšanu (publiskā atslēga), pārbaudot resursdatoru, aktīvo SSH atslēgu, GitHub kontu, SSO autorizāciju, attālo URL un 22. porta piekļuvi.

Kā novērst kļūdu “Git Push noraidīts: nepārtīšana uz priekšu”, nezaudējot izmaiņas

Kā novērst kļūdu “Git Push noraidīts: nepārtīšana uz priekšu”, nezaudējot izmaiņas

Droši izlabojiet Git ne-ātrās pārtīšanas kļūdu. Aizsargājiet lokālo darbu, ielādējiet attālinātus izmaiņu izmaiņu ierakstus, izvēlieties apvienošanu vai atkārtotu bāzi, atrisiniet konfliktus un veiciet izmaiņu pārtīšanu, nezaudējot izmaiņas.

Kā novērst kļūdu "Nginx 502 Bad Gateway", veicot starpniekservera darbību ar Node.js

Kā novērst kļūdu "Nginx 502 Bad Gateway", veicot starpniekservera darbību ar Node.js

Izlabojiet Nginx 502 Bad Gateway kļūdas ar Node.js augšupējo resursu, pārbaudot lietotnes portu, NGINX žurnālus, proxy_pass adresi, konteineru tīklošanu, taimautus un atkārtotu ielādi.

Kā TypeScript labot kļūdu “Type 'null' nav piešķirams tipam”

Kā TypeScript labot kļūdu “Type 'null' nav piešķirams tipam”

Novērsta TypeScript kļūda “Tips 'null' nav piešķirams tipam”, izmantojot apvienošanas tipus, sašaurināšanu, noklusējuma vērtības un drošas apgalvojumus, izmantojot strictNullChecks.

Kā novērst kļūdu “Prisma Client has not been generated yet”

Kā novērst kļūdu “Prisma Client has not been generated yet”

Novērsiet Prisma Client ģenerēšanas kļūdu, pārbaudot savu ģeneratoru, shēmu, izvades ceļu, importus, versijas, monorepo iestatījumu un izvietošanas būvēšanas soļus.

Kā novērst kļūdu "ERR_MODULE_NOT_FOUND" Node.js ESM importā

Kā novērst kļūdu "ERR_MODULE_NOT_FOUND" Node.js ESM importā

Izlabojiet Node.js ERR_MODULE_NOT_FOUND kļūdu ESM, pārbaudot importēšanas ceļus, failu paplašinājumus, pakotņu instalēšanu, eksportēšanu, ESM režīmu un tīrās instalācijas.

Kā novērst SSL sertifikāta problēmu: Nevar iegūt vietējo izdevēja sertifikātu Git

Kā novērst SSL sertifikāta problēmu: Nevar iegūt vietējo izdevēja sertifikātu Git

Novērsiet Git kļūdu “nevar iegūt vietējo izdevēja sertifikātu”, identificējot uzticības aizmugurprogrammu, instalējot pareizo CA ķēdi un saglabājot SSL verifikāciju iespējotu.