Jak opravit ModuleNotFoundError: V Pythonu 3 neexistuje modul s názvem 'pip'

ModuleNotFoundError: No module named 'pip'znamená, že interpret Pythonu, který spouští váš příkaz, nemůže importovat balíček pip. Příčina je obvykle jedna ze čtyř věcí: pip nebyl nikdy bootstrapován, používáte jinou instalaci Pythonu, než si myslíte, virtuální prostředí bylo vytvořeno bez pipu nebo bylo poškozeno, nebo váš distributor Linuxu spravuje pip odděleně od základní instalace Pythonu.

Nejbezpečnější opravou je pracovat od interpretu směrem ven. Nejprve identifikujte přesný spustitelný soubor Pythonu, poté vyzkoušejte vestavěný ensurepipmodul Pythonu a přejděte k balíčkovému správci operačního systému nebo pouze get-pip.pytehdy, když vestavěná metoda není k dispozici. Oficiální dokumentace k metodě pip doporučuje volat pip jako modul – python -m pipna unixových systémech nebo py -m pipve Windows – protože to váže pip ke konkrétnímu interpretu.

Stručný přehled: vyberte správnou opravu

Co vidíšNejlepší první akceProč
python -m pipříká, že neexistuje žádný modul s názvem pipBěhpython -m ensurepip --upgradeCPython může bootstrapovat svůj přibalený pip bez jeho stahování.
pipfunguje, ale python -m pipselháváKontrolní sys.executablea spustitelné cestyPravděpodobně kombinujete instalace Pythonu.
No module named ensurepipPoužijte správce balíčků od svého distributora nebo opravte instalaci Pythonuensurepipje volitelné a distributoři ho mohou vynechat
Virtuálnímu prostředí chybí PIP.Bootstrap pip uvnitř nebo znovu vytvořte prostředívenvnormálně instaluje pip, pokud --without-pipnebyl použit
externally-managed-environmentobjevuje se v LinuxuVytvořte virtuální prostředíSystém Python je záměrně spravován správcem balíčků operačního systému.

Krok 1: Ověřte, kterému interpretu Pythonu chybí pip

Nezačínejte přeinstalací náhodných balíčků. Nejprve se zeptejte stejného interpretu, zda pip existuje.

Okna

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

macOS a Linux

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

Pokud samostatný příkaz pipnebo pip3odkazuje na jednu instalaci, zatímco pythonnebo python3odkazuje na jinou, problém spočívá v nesouladu interpretů, nikoli nutně v chybějící instalaci PIP. Upřednostňujte modulový formulář uvedený v oficiální uživatelské příručce PIP .

Příkazový řádek systému Windows zobrazující Python 3 a ModuleNotFoundError po pokusu o import souboru pip.
Chyba je spojena s aktuálně spuštěným interpretem Pythonu; před změnou instalace identifikujte tento interpret.

V systému macOS se stejný příznak může objevit v Terminálu, pokud python3se přepne na instalaci Pythonu, která neobsahuje pip.

Terminál macOS zobrazující Python 3 a chybu ModuleNotFoundError pro pip.
V systémech macOS a Linux použijte , python3 -m pipaby byl příkaz pip vázán na interpret Pythonu 3, který chcete použít.

Krok 2: Obnovte PIP pomocí ensurepip

Pro normální instalaci CPythonu ensurepipje první metodou opravy, kterou je třeba vyzkoušet. Dokumentace Pythonu uvádí, že modul bootuje pip z komponent dodávaných s interpretem a pro tento krok bootování nepotřebuje přístup k internetu. Modul byl přidán v Pythonu 3.4.

Okna

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

macOS a Linux

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

První příkaz nainstaluje nebo aktualizuje verzi PIP, která je součástí dané verze Pythonu. Poslední příkaz pak může aktualizovat PIP z jeho nakonfigurovaného indexu balíčků. Viz dokumentace k Pythonuensurepip a oficiální instalační příručka PIP .

Linuxový terminál zobrazující příkaz python3 ensurepip následovaný úspěšnou kontrolou verze pipu příkazem python3 -m.
Po úspěšném ensurepipspuštění by měla následovat kontrola verze pomocí stejného interpretu Pythonu.

Krok 3: Pokud chybí parametr ensurepip, použijte metodu odpovídající tomu, kdo Python nainstaloval.

Aktuální dokumentace Pythonu výslovně uvádí, že ensurepipje to volitelné. Pokud vaše kopie CPythonu tuto funkci neobsahuje, Python doporučuje konzultaci s distributorem, který daný interpret dodal. To je obzvláště důležité v Linuxu, kde operační systém může záměrně zabalit pip samostatně.

Systém ve stylu Ubuntu nebo Debianu Python

Pro Ubuntu je k dispozici oficiální archiv balíčků python3-pip. Typická instalace systémového balíčku vypadá takto:

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

Pak ověřte pomocí:

python3 -m pip --version

Použijte dokumentaci k balíčku vaší distribuce, místo abyste kopírovali aptpříkaz do distribuce jiné než Debian. Stránka balíčku Ubuntu pro python3-pip potvrzuje, že balíček je distribuován samostatně.

Python nainstalovaný z python.org

Pokud je oficiální instalace z python.org poškozená a ensurepipneočekávaně nedostupná, oprava nebo přeinstalace této instalace Pythonu je často jednodušší než ruční záplatování souborů. Stahujte pouze z oficiální stránky pro stahování Pythonu .

Obrazovka instalačního programu Pythonu pro Windows zobrazující standardní možnost instalace a zaškrtávací políčko PATH.
Klasické zobrazení instalačního programu Pythonu pro Windows znázorňuje cestu k opravě nebo přeinstalaci; dostupné verze a ovládací prvky instalačního programu se mohou lišit v závislosti na vydání Pythonu.

A co get-pip.py?

Správci PIP uvádějí get-pip.pyjako podporovaný instalační mechanismus, pokud PIP chybí. Uživatelská příručka pro Python Packaging doporučuje ensurepipnejprve vyzkoušet a varuje, že to get-pip.pynení v souladu se správci balíčků operačního systému. Toto varování je důležité pro distribučně spravované instalace Pythonu.

Pokud záměrně používáte bootstrap skript, stáhněte si ho pouze z místa, na které odkazuje oficiální instalační dokumentace PIP . Nepoužívejte náhodnou kopii z fóra, GISTu nebo webu třetích stran pro stahování.

Krok 4: Oprava virtuálního prostředí namísto úpravy systémového Pythonu

Pythonovy venvmoduly standardně instalují pip, pokud nebylo prostředí vytvořeno pomocí --without-pip. Pokud je existující prostředí jednorázové, jeho opětovné vytvoření je často rychlejší a reprodukovatelnější než pokus o opravu částečně poškozeného adresáře balíčků.

Okna

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

macOS a Linux

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

Pokud prostředí již existuje a potřebujete ho zachovat, aktivujte ho a zkuste:

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

Oficiální dokumentace uvádí, že sevenvensurepip standardně používá k bootstrapování PIP do nových prostředí.

Terminál zobrazující vytvoření a aktivaci prostředí dot-venv následovanou kontrolou verze pip a instalací balíčku.
Nové virtuální prostředí izoluje balíčky projektů od systémového interpretu a obvykle obsahuje vlastní pip.

Proč je to důležité na moderních linuxových distribucích

PEP 668 definuje EXTERNALLY-MANAGEDznačku, kterou distributoři používají k tomu, aby instalačním programům balíčků Pythonu sdělili, že ve výchozím nastavení nemají upravovat globální kontext balíčku systémového interpretu. Pokud pip hlásí externě spravované prostředí, jedná se o jiný problém než o „chybí pip“. Doporučeným postupem je obvykle vytvoření virtuálního prostředí, spíše než vynucení globální instalace. Viz PEP 668 .

Krok 5: Ověřte opravu stejným interpretem, který budete skutečně používat

Po jakékoli opravě ověřte pip i cílový balíček ze stejného spustitelného souboru Pythonu.

Okna

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

macOS a Linux

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

Pokud pracujete v IDE nebo notebooku, zkontrolujte také interpret vybraný tímto nástrojem. Běžným problémem je instalace balíčků s jedním terminálovým Pythonem, zatímco editor spouští jiný Python nebo jiné virtuální prostředí.

Editor kódu zobrazující kód v Pythonu, který vytiskne verzi PIP a spustitelný soubor v Pythonu s úspěšným výsledkem v terminálu.
Pokud IDE stále hlásí chybějící balíčky, porovnejte jeho spustitelný soubor v Pythonu s interpretem použitým pro úspěšné spuštění příkazu pip.

Opravdu potřebujete importovat pip do kódu v Pythonu?

Obvykle ne. Dokumentace k pipu uvádí, že pip je program příkazového řádku a že jeho interní API nejsou podporována jako veřejné Python API. I když import pipby to po instalaci mohlo fungovat, kód aplikace by neměl záviset na interních funkcích pipu.

Pokud skript skutečně potřebuje volat pip, dokumentace pipu doporučuje jeho spuštění jako podprocesu s aktuálním interpretem:

import subprocess
import sys

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

Viz Použití pipu z vašeho programu v oficiální uživatelské příručce k pipu .

Časté chyby, které udržují chybu při životě

  • Spuštění, pip install pipi když pip již chybí: nejprve použijte ensurepip, správce balíčků operačního systému nebo oficiální metodu bootstrap.
  • Použití sudo pipv distribučně spravovaném Pythonu: může to být v konfliktu s vlastnictvím balíčků operačního systému. Upřednostněte virtuální prostředí.
  • Oprava PATH, když samotný modul chybí: PATH řídí, zda shell najde spustitelný soubor; neinstaluje pipmodul do interpretu Pythonu.
  • Instalace do nesprávné verze Pythonu: použijte python -m pip, python3 -m pipnebo , py -m pipmísto předpokladu, že holý pippříkaz cílí na správný interpret.
  • Opětovné použití přesunutého virtuálního prostředí: Dokumentace k Pythonu venv popisuje prostředí jako jednorázová a obecně nepřenosná. Místo pokusu o opravu pevně zakódovaných cest vytvořte přesunuté prostředí znovu.

Závěrečný kontrolní seznam

  • Potvrďte přesný spustitelný soubor Pythonu pomocí sys.executable.
  • Spusťte pip přes tento interpret s -m pip.
  • Zkuste to ensurepip --upgradepřed stažením jiného bootstrapového nástroje.
  • Pokud ensurepipnení k dispozici, postupujte podle pokynů distributora pro správu balíčků.
  • Pro závislosti projektu používejte virtuální prostředí, zejména u externě spravovaných instalací Linuxu.
  • Výsledek ověřte ze stejného terminálu, IDE, poznámkového bloku nebo běhového prostředí služby, ve kterém je spuštěn váš projekt.

python -m ensurepip --upgradeU většiny standardních instalací Pythonu 3 následuje za nejkratší spolehlivou opravou řetězec python -m pip --version, který se python3na unixových systémech nebo pyve Windows podle potřeby nahrazuje řetězcem . Pokud se to nepodaří, protože ensurepipchybí řetězec , zastavte instalaci a před volbou další metody opravy zjistěte, kdo ji dodal.

Zanechat komentář

Jak opravit ModuleNotFoundError: V Pythonu 3 neexistuje modul s názvem 'pip'

Jak opravit ModuleNotFoundError: V Pythonu 3 neexistuje modul s názvem 'pip'

Oprava chyby ModuleNotFoundError v Pythonu 3 pro PIP na Windows, macOS a Linuxu pomocí ensurepip, balíčků operačního systému, virtuálních prostředí a kontrol interpretů.

Jak opravit chybu „Oprávnění odepřeno (veřejný klíč)“ v GitHub SSH

Jak opravit chybu „Oprávnění odepřeno (veřejný klíč)“ v GitHub SSH

Opravte chybu „Oprávnění GitHub SSH odepřeno (veřejný klíč)“ kontrolou hostitele, aktivního klíče SSH, účtu GitHub, autorizace SSO, vzdálené adresy URL a přístupu na port 22.

Jak opravit chybu „Git Push Rejected: Non-FastForward“ bez ztráty změn

Jak opravit chybu „Git Push Rejected: Non-FastForward“ bez ztráty změn

Bezpečně opravte push chybu v Gitu, která neumožňuje rychlé přehrávání. Chraňte lokální práci, načítejte vzdálené commity, vyberte sloučení nebo rebase, vyřešte konflikty a pushujte bez ztráty změn.

Jak opravit chybu „Nginx 502 Bad Gateway“ při proxyování k Node.js

Jak opravit chybu „Nginx 502 Bad Gateway“ při proxyování k Node.js

Opravte chyby Nginx 502 Bad Gateway s upstreamem Node.js kontrolou portu aplikace, protokolů NGINX, adresy proxy_pass, sítě kontejnerů, časových limitů a opětovného načtení.

Jak opravit chybu „Typ 'null' nelze přiřadit typu“ v TypeScriptu

Jak opravit chybu „Typ 'null' nelze přiřadit typu“ v TypeScriptu

Oprava chyby „Typ 'null' nelze přiřadit typu“ v TypeScriptu u sjednocovacích typů, zúžení, výchozích hodnot a bezpečných asercí v rámci strictNullChecks.

Jak opravit chybu „Prisma Client Has Not Been Generated Yet“

Jak opravit chybu „Prisma Client Has Not Been Generated Yet“

Opravte chybu nevygenerovaného Prisma Client kontrolou generátoru, schématu, výstupní cesty, importů, verzí, nastavení monorepa a kroků sestavení při nasazení.

Jak opravit chybu „ERR_MODULE_NOT_FOUND“ v importech Node.js ESM

Jak opravit chybu „ERR_MODULE_NOT_FOUND“ v importech Node.js ESM

Opravte chybu Node.js ERR_MODULE_NOT_FOUND v ESM kontrolou cest importu, přípon souborů, instalace balíčků, exportů, režimu ESM a čistých instalací.

Jak opravit problém se SSL certifikátem: Nelze získat lokální certifikát vydavatele v Gitu

Jak opravit problém se SSL certifikátem: Nelze získat lokální certifikát vydavatele v Gitu

Opravte chybu Gitu 'nelze získat lokální certifikát vydavatele' identifikací důvěryhodného backendu, instalací správného řetězce CA a ponecháním ověřování SSL zapnutého.

Jak opravit chybu časového limitu sítě MongoDB v připojení Mongoose

Jak opravit chybu časového limitu sítě MongoDB v připojení Mongoose

Opravte chyby časového limitu sítě MongoDB v Mongoose identifikací typu časového limitu, testováním dostupnosti Atlasu nebo TCP, opravou URI a laděním časových limitů pouze v odůvodněných případech.

Jak opravit chybu Execution Policy Restricted ve Windows PowerShell

Jak opravit chybu Execution Policy Restricted ve Windows PowerShell

Opravte chybu Execution Policy Restricted v PowerShellu kontrolou rozsahu a Skupinové politiky, poté zvolte RemoteSigned, Unblock-File nebo dočasnou možnost relace.