Domů
» Základní znalosti
»
Jak opravit ModuleNotFoundError: V Pythonu 3 neexistuje modul s názvem 'pip'
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í akce
Proč
python -m pipříká, že neexistuje žádný modul s názvem pip
Běhpython -m ensurepip --upgrade
CPython může bootstrapovat svůj přibalený pip bez jeho stahování.
pipfunguje, ale python -m pipselhává
Kontrolní sys.executablea spustitelné cesty
Pravděpodobně kombinujete instalace Pythonu.
No module named ensurepip
Použijte správce balíčků od svého distributora nebo opravte instalaci Pythonu
ensurepipje 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 Linuxu
Vytvoř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
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 .
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.
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.
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:
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 .
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ů.
Oficiální dokumentace uvádí, že sevenvensurepip standardně používá k bootstrapování PIP do nových prostředí.
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.
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í.
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:
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.