pip: kein Modul mit dem Namen _internal

95

Ich habe ein Problem, wenn ich versuche, pip in irgendeiner Weise zu verwenden. Ich benutze Ubuntu 16.04.4

Ich sollte sagen, dass ich es bereits verwendet habe und nie ein Problem hatte, aber ab heute, wenn ich einen Befehl verwende, erhalte ich immer den gleichen Fehler (als Beispiel mit pip --upgrade).

Traceback (most recent call last):
  File "/usr/local/bin/pip", line 7, in <module>
    from pip._internal import main
ImportError: No module named _internal

Ich habe versucht, sudo apt-get remove python-pipgefolgt von, sudo apt-get install python-pipaber nichts hat sich geändert.

Vielen Dank für Ihre Zeit!

Grimdrem
quelle
Stellen Sie sicher, dass in Ihrem /usr/local/lib/pythonX.X/site-packagesvorausgeht . /usr/lib/pythonX.X/site-packages$PATH
hoefling
Gleiches Problem hier. Haben Sie eine Lösung gefunden?
WayBehind
3
@ WayBehind Ich habe eine Lösung gefunden. Mir ist aufgefallen, dass python -m pipalles gut funktioniert. Außerdem habe ich die Datei entfernt /usr/local/bin/pipund rufe jetzt pip -Vreturn auf pip 8.1.1 from /usr/lib/python2.7/dist-packages (python 2.7). Alles scheint wie erwartet zu funktionieren.
Grimdrem
Ich habe immer noch das gleiche Problem, ich verwende pip in der Conda-Umgebung, Python 2.7 und ich verwende pip install ipdb. Irgendeine Idee dazu?
Garvita Tiwari
Befolgte die Schritte plus die -H Flagge:sudo -H python3.7 get-pip.py --force-reinstall
Andres Leon Rangel

Antworten:

107

Das hat es für mich getan:

python -m pip install --upgrade pip

Umwelt: OSX && Python über installierte Gebräu

magische Wiedergeburt
quelle
6
Vielen Dank, dies war die Lösung für mich mit Python3.
Furbeenator
2
Das hat bei mir nicht funktioniert. Was @Grimdrem getan hat, ist das, was ich letztendlich getan habe. Ich hatte (in der Vergangenheit) pip für alle installiert (mit sudo oder so) ... und mein Upgrade war mit --user, so dass die andere Installation immer noch herumhing ... und es aus / usr / local / bin und von meinem entfernte Der Paketordner von main python (nicht der von --user) hat es geschafft.
user1269942
Seltsamerweise hat dies auch hier behoben. Ich sollte #searx auf das neueste Commit aktualisieren.
Roland
Bin auf Ubuntu in der WSL darauf gestoßen. Ich benutze auch pyenv, hatte aber irgendwie die Systempython, die vimverwendet, gedämpft . Dies brachte die Dinge dahin, wo sie sein mussten und funktioniert jetzt taskwikiwieder. Wütend!
Daniel Black
62

Eine Antwort von askUbuntu funktioniert.

Für pip2.7, können Sie auf den ersten curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py, dann python2.7 get-pip.py --force-reinstallpip neu zu installieren.

Problem gelöst. Funktioniert auch für Python3.

YongHao Hu
quelle
6
Das funktioniert bei mir nicht, ich habe es ein paar Mal versucht
Cleve Green
1
Ich habe es behoben, indem ich Python neu installiert habe, was jetzt ein absoluter Schmerz war, da ich keines meiner früheren Module habe
Cleve Green
Nur von diesem Problem gebissen, scheint ein bisschen wie ein Cluster zu sein, apt-get install python-pipder am 16.04.4 nicht funktioniert und Sie auf binäre Blob-Installer zurückgreifen?
Joe
1
Ich musste alle, damit es funktioniert meine entfernen Systemseite pip Dinge:apt-get remove python-pip-whl
Jan
"Zugang verweigert". Sie müssen wahrscheinlich sudo verwenden. In den meisten Distributionen können Vanilla-Benutzer das Pip-System nicht systemweit installieren.
Cerin
21

Diese Lösung funktioniert bei mir:

curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
python3 get-pip.py --force-reinstall

oder verwenden Sie sudo für erhöhte Berechtigungen ( sudo python3 get-pip.py --force-reinstall).

Natürlich können Sie auch pythonanstelle von verwenden python3;)

Quelle

Abdallah Okasha
quelle
19

Siehe diese Problemliste

sudo easy_install pip

funktioniert bei mir unter Mac OS

Für python3kann versuchen , sudo easy_install-3.x piphängt von der Python 3.x - Version. Oderpython3 -m pip install --user --upgrade pip

zangw
quelle
1
Das ist altes Python2. Zumindest unter Python3 Ubuntu sollten Sie auch sudo easy_install-3.4 pipoder ähnliches ausführen .
NoBugs
11

In der Datei "/ usr / local / bin / pip" wechseln Sie from pip._internal import main zufrom pip import main

GauthamGAjith
quelle
9

Dieses Problem ist möglicherweise darauf zurückzuführen, dass ein normaler Benutzer keine Berechtigung zum Zugriff auf die py-Datei von Paketen hat.
1. Root-Benutzer kann 'Pip-Liste' ausführen.
2. Andere allgemeine Benutzer können 'Pip-Liste' nicht ausführen.

[~]$ pip list
Traceback (most recent call last):
  File "/usr/bin/pip", line 7, in <module>
from pip._internal import main
ImportError: No module named pip._internal

Überprüfen Sie die Berechtigung für die Pipy-Datei.

[root@]# ll /usr/lib/python2.7/site-packages/pip/  
合計 24  
-rw-------  1 root root   24  6  7 16:57 __init__.py  
-rw-------  1 root root  163  6  7 16:57 __init__.pyc  
-rw-------  1 root root  629  6  7 16:57 __main__.py  
-rw-------  1 root root  510  6  7 16:57 __main__.pyc  
drwx------  8 root root 4096  6  7 16:57 _internal  
drwx------ 18 root root 4096  6  7 16:57 _vendor  

Lösung: Root-Benutzer anmelden und ausführen

chmod -R 755 /usr/lib/python2.7 

Beheben Sie dieses Problem.

Yi Yang Apollo
quelle
Zum Schluss eine logische Erklärung, wo das Problem tatsächlich liegt. Eine Neuinstallation könnte das Problem lösen, aber das ist der wahre Grund, warum es überhaupt nicht funktioniert.
Maxime Viargues
5

Ich habe dieses Problem gesehen, als PYTHONPATHfestgelegt wurde, dass das integrierte site-packagesVerzeichnis enthalten ist. Da Python dort automatisch sucht, ist es nicht erforderlich und kann entfernt werden.

Levi Morrison
quelle
2
Das hat es für mich gelöst, danke. Ich habe einfach irgendwo $ PYTHONPATH gespeichert und bin dann gelaufen export PYTHONPATH="", um Pip zum Laufen zu bringen.
Ibowman
Beim Versuch, echo $ PYTHONPATH zu verwenden, waren Site-Pakete jedoch nicht enthalten.
Alyssaeliyah
Dies ist mir beim Erstellen einer virtuellen Umgebung auf einem System begegnet, das Module zum Verwalten von Softwarepaketen verwendet. Wenn ich geladen habe, sagst du "module load python / 3.5.2" und es geht deinem voran PYTHONPATH. Als ich dann meine virtuelle Umgebung aktivierte, wurde mein PYTHONPATH nie deaktiviert, was bedeutete, dass die Systemebene gefunden wurde pipund nicht die in meiner virtuellen Umgebung.
irritable_phd_syndrom
5

Der Vollständigkeit halber bin ich gerade auf dieses Problem mit "Ubuntu latest" gestoßen ... v18.04 ... und habe es folgendermaßen behoben:

python3 -m pip install --upgrade pip

(Beachten Sie, dass angegeben werden musste, python3da dies auf Python 3.6.9 verweist. Der pythonBefehl auf demselben System verweist auf Python 2.7.17. Da es sich anscheinend um eine systemweite Installation handelt, wurde die Berechtigung ["nicht sudo" ...] festgestellt Fehler, aber es war egal, weil es sowieso das Falsche war. Ich bin auf das Problem gestoßen mit pip3.)

Mike Robinson
quelle
Ich habe den Fehler no such option: --upradeauf Ihren Befehl bekommen - also bin ich gelaufen python3 -m pip install pipund es hat funktioniert :)
Xerus
3

Verwenden Sie Python2 oder Python3? Der folgende Befehl kann anders sein!

  1. Verwenden python3 -m pip --versionSie diese Option, um festzustellen, ob Pip installiert ist.
  2. Wenn ja, laufen python3 -m pip install --upgrade pip.
  3. Wenn nein, laufen Sie sudo apt-get install python3-pipund wiederholen Sie den Vorgang.
Dongcheng Wang
quelle
3

Es ist wahrscheinlich aufgrund eines Versionskonflikts, versuchen Sie dies auszuführen, es wird die ältere Pip irgendwie entfernen.

sudo apt remove python pip
Tinashe Makuti
quelle
Für das, was es wert ist, scheint dies die Lösung für eine Debian-ähnliche Distribution ( z. B. Ubuntu 16.04) zu sein, bei der das python-pipPaket auf Distro-Ebene installiert wurde und get-pip.pyfür eine benutzerspezifische Version verwendet wurde, pipdie sich auch in der $PATH. Ich habe sudo apt-get removedas python-pipPaket (2.7) und stattdessen das in meinem ~ / .local / bin verwendet. Keine Fehlermeldung mehr.
TheDudeAbides
3

Ich bin gerade auf das gleiche Problem gestoßen, und in meinem Fall stellt sich heraus, dass dies ein Konflikt zwischen der Python-Installation in meiner virtuellen Umgebung und der standortweiten Python (Ubuntu) ist. Was es für mich löst, ist, pip auf diese Weise auszuführen, um die Verwendung der richtigen Python-Installation (in meinem vortualenv) zu erzwingen:

python3 -m pip install PACKAGE

anstatt

pip3 install PACKAGE

Dies wurde mir klar, als ich versuchte, einige der Antworten hier zu befolgen, die eine Neuinstallation von pip vorschlagen, und die Fehlerausgabe, die ich erhielt, zeigte auf einen vorhandenen Site-weiten Python-Bibliothekspfad, obwohl ich meine virtuelle Umgebung aktiviert hatte. Es lohnt sich, es zu versuchen, bevor Sie Inhalte löschen und neu installieren.

tospo
quelle
Wie in dieser Antwort erwähnt, handelt es sich bei stackoverflow.com/a/50737296/1340995 um ein Berechtigungsproblem. Ich habe festgestellt, dass die Verwendung von pip mit python3 -m pipdieses Problem ebenfalls löst, wahrscheinlich weil pythones die Berechtigung zum Ausführen hat und pip nicht die Berechtigung + x benötigt, da es nur die Datei lädt und nicht ausführt.
Maxime Viargues
3

Für mich

python -m pip uninstall pip

löste das Problem. Referenz

Hariszaman
quelle
2

Ich habe diesen Fehler behoben, indem ich die folgenden Befehle ausgeführt habe:

sudo apt remove python-pip
wget https://bootstrap.pypa.io/get-pip.py
sudo python get-pip.py

Das zuvor installierte Pip wird entfernt und neu installiert. Vielen Dank :)

Ateeb
quelle
1

Die folgende Lösung löste das Problem auf meinem Computer für python2.7 "$ curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py" und dann "$ sudo python2.7 get-pip" .py --force-neu installieren "

Merwanski
quelle
1
Dieser funktioniert für mich, aber Sie müssen ihn auf die von Ihnen verwendete Python-Version ändern. sudo python3 get-pip.py --force-reinstall. Toll.
Alyssaeliyah
1

Nur für den derzeitigen Benutzer:

easy_install --user pip

oder

python -m pip install --upgrade --user pip

Der zweite kann geben, /usr/bin/python: No module named pip auch wenn which pipdas Modul namens pip gefunden wird. In diesem Fall versuchen Sie daseasy_install

Mihai.Mehe
quelle
1

Ich habe den gleichen Fehler unter Windows festgestellt, als ich versucht habe, ein Paket über pip3 zu installieren:

Traceback (most recent call last):
  File "d:\anaconda\lib\runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "d:\anaconda\lib\runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "D:\Anaconda\Scripts\pip3.6.exe\__main__.py", line 5, in <module>
ModuleNotFoundError: No module named 'pip._internal'

Mein Python wird über Anaconda installiert. Ich habe dieses Problem gelöst, indem ich pip via conda neu installiert habe:

conda install pip

Danach kehrt pip zum Normalzustand zurück.

jdhao
quelle
0

Bei mir hat nichts funktioniert, aber nur eines: Ich habe sudo vor dem Befehl verwendet und es funktioniert einwandfrei.

GeorgesD
quelle
Mein Fall war seltsamer, weil "sudo" mir immer noch den gleichen Fehler gab. Ich musste zu root wechseln (sudo su auf ubuntu), um pip3.5 list und pip3.5 installieren zu können: |
jmng
0

Ich habe das gleiche Problem in meiner virtuellen Umgebung nach dem Upgrade der Python-Installation von 3.6 auf 3.7, aber nur in vent global pip funktioniert einwandfrei. Um es zu lösen, deaktiviere und lösche ich meine virtuelle Umgebung nach dem erneuten Erstellen und jetzt ist in Ordnung, auf venv:

deactivate
rm -rvf venv 

und nach dem Neuerstellen der virtuellen Umgebung. Ich benutze Mac OS 10.11 und Python 3

Bayocr
quelle
0

(Unter Windows) Ich bin mir nicht sicher, warum dies geschah, aber ich hatte mein PYTHONPATH-Setup so, dass es auf c: \ python27 verweist, wo Python installiert wurde. in Kombination mit virtualenv führte dies zu dem erwähnten Fehler.

gelöst durch Entfernen der PYTHONPATH env var alle zusammen

Gil Hiram
quelle
0

Meine Lösung: Erster Schritt wie die meisten anderen Antworten:

curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
python2.7 get-pip.py --force-reinstall

Zweitens fügen Sie einen Softlink hinzu

sudo ln -s /usr/local/bin/pip /usr/bin/pip
John
quelle
0

Sie können es zuerst entfernen und erneut installieren, es wird in Ordnung sein. für Centos:

yum remove python-pip
yum install python-pip
user3890444
quelle
0

Ich habe dieses Problem durch behoben

sudo apt-get install python3-pip

Dies funktionierte sogar für Python2.7, erstaunlich ...

Yu Jiaao
quelle
0

Meine Lösung besteht darin import pip, das mit den pip/pip3Befehlen verknüpfte Skript zu ergänzen.

Öffnen Sie zunächst die Datei (z. B. /usr/local/bin/pip) mit Ihrem bevorzugten Texteditor und dem Sudo-Modus. Zum Beispiel benutze ich sudo vim /usr/local/bin/pip, um die Skriptdatei zu öffnen.

Sie erhalten eine Datei wie folgt:

import re
import sys

from pip._internal import main

if __name__ == '__main__':
    sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0])
    sys.exit(main())

Fügen Sie anschließend die Anweisung ein, import pipbevor from pip._internal import maindas Problem behoben ist.

N.Hung
quelle
0

Ich habe versucht, den folgenden Befehl, um das Problem zu lösen, und es funktionierte für mich Curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py python3 get-pip.py --force-reinstall

abbas khan
quelle
0

Diese entstehen häufig durch die Verwendung von pip zum "Aktualisieren" des installierten Pip-Systems und / oder durch die Installation mehrerer Pip-Installationen unter dem Benutzer. Meine Lösung bestand darin, die mehrfach installierten Pips unter dem Benutzer zu bereinigen, Pip Repo neu zu installieren und dann "pip install --user pip" wie oben.

Unter https://github.com/pypa/pip/issues/5599 finden Sie eine offizielle vollständige Diskussion und Fehlerbehebungen.

user2898616
quelle