Domov
» Základné znalosti
»
Ako opraviť ModuleNotFoundError: V Pythone 3 neexistuje modul s názvom „pip“
Ako opraviť ModuleNotFoundError: V Pythone 3 neexistuje modul s názvom „pip“
ModuleNotFoundError: No module named 'pip'znamená, že interpret Pythonu, ktorý spúšťa váš príkaz, nemôže importovať balík pip. Príčinou je zvyčajne jedna zo štyroch vecí: pip nebol nikdy bootstrapovaný, používate inú inštaláciu Pythonu, ako si myslíte, virtuálne prostredie bolo vytvorené bez pipu alebo sa poškodilo, alebo váš distribútor Linuxu spravuje pip oddelene od základnej inštalácie Pythonu.
Najbezpečnejšou opravou je pracovať od interpreta smerom von. Najprv identifikujte presný spustiteľný súbor Pythonu, potom vyskúšajte vstavaný ensurepipmodul Pythonu a na správcu balíkov operačného systému prejdite iba get-pip.pyvtedy, keď vstavaná metóda nie je k dispozícii. Oficiálna dokumentácia k pip odporúča volať pip ako modul – python -m pipna systémoch podobných Unixu alebo py -m pipvo Windowse – pretože to viaže pip na konkrétny interpret.
Stručný prehľad: vyberte si správnu opravu
Čo vidíš
Najlepšia prvá akcia
Prečo
python -m piphovorí, že neexistuje modul s názvom pip
Behpython -m ensurepip --upgrade
CPython dokáže bootstrapovať svoj pribalený pip bez jeho sťahovania
pipfunguje, ale python -m pipzlyháva
Kontrolné sys.executablea spustiteľné cesty
Pravdepodobne miešaš inštalácie Pythonu
No module named ensurepip
Použite správcu balíkov od vášho distribútora alebo opravte inštaláciu Pythonu
ensurepipje voliteľné a distribútori ho môžu vynechať
Virtuálnemu prostrediu chýba pip
Bootstrap pip vo vnútri alebo znovu vytvorte prostredie
venvnormálne nainštaluje pip, pokiaľ --without-pipnebol použitý
externally-managed-environmentzobrazuje sa v Linuxe
Vytvorte virtuálne prostredie
Systém Python je zámerne spravovaný správcom balíkov operačného systému.
Krok 1: Potvrďte, ktorému interpretovi Pythonu chýba pip
Nezačínajte preinštalovaním náhodných balíkov. Najprv sa opýtajte toho istého interpreta, či existuje pip.
Okná
py --version
py -m pip --version
py -c "import sys; print(sys.executable)"
where python
where pip
Ak samostatný príkaz pipalebo pip3odkazuje na jednu inštaláciu, zatiaľ čo príkaz pythonalebo python3odkazuje na inú, problémom je nesúlad interpretov, nie nevyhnutne chýbajúca inštalácia PIP. Uprednostnite modulový formulár zobrazený v oficiálnej používateľskej príručke PIP .
Chyba je viazaná na aktuálne spustený interpreter Pythonu; pred zmenou inštalácie identifikujte tento interpreter.
V systéme macOS sa rovnaký príznak môže objaviť v Termináli pri python3prechode na inštaláciu Pythonu, ktorá neobsahuje pip.
V systémoch macOS a Linux použite príkaz python3 -m pip, aby bol príkaz pip viazaný na interpret Pythonu 3, ktorý chcete použiť.
Krok 2: Obnovte PIP pomocou ensurepip
Pre normálnu inštaláciu CPythonu ensurepipje prvá metóda opravy, ktorú treba vyskúšať. Dokumentácia Pythonu uvádza, že modul bootuje pip z komponentov dodávaných s interpretom a pre tento krok bootovania nepotrebuje prístup na internet. Modul bol pridaný v Pythone 3.4.
Po úspešnom ensurepipspustení by mala nasledovať kontrola verzie pomocou rovnakého interpreta Pythonu.
Krok 3: Ak chýba ensurepip, použite metódu vhodnú pre toho, kto nainštaloval Python
Aktuálna dokumentácia Pythonu výslovne uvádza, že ensurepipje to voliteľné. Ak vaša kópia CPythonu túto funkciu neobsahuje, Python odporúča konzultáciu s distribútorom, ktorý dodal daný interpreter. Toto je obzvlášť dôležité v systéme Linux, kde operačný systém môže zámerne baliť pip samostatne.
Systém v štýle Ubuntu alebo Debianu Python
Pre Ubuntu poskytuje oficiálny archív balíkov python3-pipbalík. Typická inštalácia systémového balíka je:
Namiesto kopírovania príkazu aptdo distribúcie, ktorá nie je Debianom, použite dokumentáciu k balíkom vašej distribúcie. Stránka balíka Ubuntu pre python3-pip potvrdzuje, že balík je distribuovaný samostatne.
Python nainštalovaný z python.org
Ak je oficiálna inštalácia python.org poškodená a ensurepipneočakávane nie je dostupná, oprava alebo preinštalovanie tejto inštalácie Pythonu je často čistejšie ako manuálne opravovanie súborov. Sťahujte iba z oficiálnej stránky na stiahnutie Pythonu .
Klasické zobrazenie inštalačného programu Python pre Windows znázorňuje cestu k oprave alebo preinštalovaniu; dostupné verzie a ovládacie prvky inštalačného programu sa môžu líšiť v závislosti od vydania Pythonu.
A čo get-pip.py?
Správcovia PIP ho uvádzajú get-pip.pyako podporovaný inštalačný mechanizmus, keď PIP chýba. Používateľská príručka pre balíky Python odporúča ensurepipnajskôr vyskúšať a upozorňuje, že to get-pip.pynie je kompatibilné so správcami balíkov operačného systému. Toto upozornenie je dôležité pre inštalácie Pythonu spravované distribúciami.
Ak zámerne používate bootstrap skript, získajte ho iba z miesta, na ktoré odkazuje oficiálna dokumentácia k inštalácii PIP . Nepoužívajte náhodnú kópiu z fóra, GIST alebo stránky na stiahnutie tretej strany.
Krok 4: Oprava virtuálneho prostredia namiesto úpravy systémového Pythonu
Modul Pythonu venvštandardne nainštaluje pip, pokiaľ prostredie nebolo vytvorené pomocou --without-pip. Ak je existujúce prostredie jednorazové, jeho opätovné vytvorenie je často rýchlejšie a reprodukovateľnejšie ako pokus o opravu čiastočne poškodeného adresára balíkov.
Oficiálna dokumentácia uvádza, že savenvensurepip štandardne používa na zavedenie PIP do nových prostredí.
Nové virtuálne prostredie izoluje balíky projektov od systémového interpreta a zvyčajne obsahuje vlastný pip.
Prečo je to dôležité na moderných distribúciách Linuxu
PEP 668 definuje EXTERNALLY-MANAGEDznačku, ktorú používajú distribútori na informovanie inštalátorov balíkov Pythonu, aby štandardne nemenili globálny kontext balíka systémového interpreta. Ak pip hlási externe spravované prostredie, ide o iný problém ako „pip chýba“. Odporúčaným postupom je zvyčajne vytvorenie virtuálneho prostredia, a nie vynútenie globálnej inštalácie. Pozri PEP 668 .
Krok 5: Overte opravu pomocou rovnakého interpreta, ktorý budete skutočne používať
Po akejkoľvek oprave overte pip aj cieľový balík z toho istého spustiteľného súboru Python.
Ak pracujete v IDE alebo notebooku, skontrolujte aj interpreta vybraný týmto nástrojom. Bežným problémom je inštalácia balíkov s jedným terminálovým Pythonom, zatiaľ čo editor spúšťa iný Python alebo iné virtuálne prostredie.
Keď IDE stále hlási chýbajúce balíky, porovnajte jeho spustiteľný súbor Pythonu s interpretom použitým pre úspešné vykonanie príkazu pip.
Naozaj potrebujete importovať pip do svojho kódu v Pythone?
Zvyčajne nie. V dokumentácii k pipu sa uvádza, že pip je program príkazového riadku a že jeho interné API nie sú podporované ako verejné Python API. Aj keď import pippo inštalácii môže fungovať, kód aplikácie by nemal závisieť od interných prvkov pipu.
Ak skript skutočne potrebuje volať pip, dokumentácia k pipu odporúča jeho spustenie ako podproces s aktuálnym interpretom:
Spustenie, pip install pipkeď už chýba pip: najprv použite ensurepip, správcu balíkov OS alebo oficiálnu metódu bootstrap.
Používanie sudo pipna distribuovane spravovanom Pythone: môže to byť v konflikte s vlastníctvom balíka operačného systému. Uprednostnite virtuálne prostredie.
Oprava PATH, keď samotný modul chýba: PATH riadi, či shell nájde spustiteľný súbor; neinštaluje pipmodul do interpreta Pythonu.
Inštalácia do nesprávnej verzie Pythonu: použite python -m pip, python3 -m pipalebo , py -m pipnamiesto predpokladu, že holý pippríkaz cieli na správny interpreter.
Opätovné použitie presunutého virtuálneho prostredia: Dokumentácia venv v Pythone popisuje prostredia ako jednorazové a vo všeobecnosti nie prenosné. Namiesto pokusu o opravu pevne zakódovaných ciest vytvorte presunuté prostredie znova.
Záverečný kontrolný zoznam
Potvrďte presný spustiteľný súbor Pythonu pomocou sys.executable.
Spustite pip cez tento interpret s -m pip.
Skúste to ensurepip --upgradepred stiahnutím iného bootstrap nástroja.
Ak ensurepipnie je k dispozícii, postupujte podľa pokynov distribútora na správu balíkov.
Pre závislosti projektu používajte virtuálne prostredie, najmä na externe spravovaných inštaláciách Linuxu.
Výsledok overte z toho istého terminálu, IDE, notebooku alebo runtime služby, v ktorom je spustený váš projekt.
python -m ensurepip --upgradePri väčšine štandardných inštalácií Pythonu 3 nasleduje za najkratšou spoľahlivou opravou reťazec python -m pip --version, ktorý sa python3v systémoch podobných Unixu alebo pyWindowsu podľa potreby nahrádza reťazcom . Ak to zlyhá, pretože ensurepipchýba reťazec , zastavte inštaláciu a pred výberom ďalšej metódy opravy zistite, kto dodal vašu inštaláciu Pythonu.