Python3 pip3-Installation unter Ubuntu defekt


13

Ich habe Python3 und Pip3 erfolgreich auf meinem Ubuntu16.04 installiert, aber die Installation von Pip3 ist fehlerhaft. Wie kann ich dieses Problem beheben? Die Fehlerinformationen von pip3 installlauten wie folgt:

# pip3 install xlwt
Traceback (most recent call last):
File "/usr/bin/pip3", line 9, in <module>
  from pip import main
File "/usr/lib/python3/dist-packages/pip/__init__.py", line 21, in <module>
  from pip._vendor.requests.packages.urllib3.exceptions import DependencyWarning
ModuleNotFoundError: No module named 'pip._vendor.requests'

Ausgabe von sudo -H pip3 install --upgrade pip

sudo -H pip3 install --upgrade pip  
Traceback (most recent call last):
File "/usr/bin/pip3", line 9, in <module>
  from pip import main
File "/usr/lib/python3/dist-packages/pip/__init__.py", line 21, in <module>
  from pip._vendor.requests.packages.urllib3.exceptions import DependencyWarning
ModuleNotFoundError: No module named 'pip._vendor.requests'

Ausgabe von which pip3und pip3 --version:

# which pip3
/usr/bin/pip3

# pip3 --version
Traceback (most recent call last):
  File "/usr/bin/pip3", line 9, in <module>
    from pip import main
  File "/usr/lib/python3/dist-packages/pip/__init__.py", line 21, in <module>
    from pip._vendor.requests.packages.urllib3.exceptions import DependencyWarning
ModuleNotFoundError: No module named 'pip._vendor.requests'

PS Python2 pip wird erfolgreich ausgeführt. Ausgabe von "which pip" und "pip --version":

# which pip
/usr/bin/pip

# pip --version
pip 1.5.4 from /usr/local/lib/python2.7/dist-packages/pip-1.5.4-py2.7.egg (python 2.7)

Informationen zur Installation von Python und Python3:

# which python
/usr/bin/python
# which python3
/usr/bin/python3

# python -V
Python 2.7.14
# python3 -V
Python 3.6.3  

Sie haben in Ihrem Beitrag 16.04 gesagt, aber das 14.04-Tag verwendet. Welche Version ist richtig?
Edwinksl

1
16.04 ist richtig. Ich konnte das 16.04-Tag gerade nicht finden. Es tut uns leid.
mlpy

Antworten:


12

Es stimmt etwas nicht mit Ihrem pip3, also entfernen Sie es und installieren Sie es neu. Öffnen Sie das Terminal und geben Sie Folgendes ein:

sudo apt purge python3-pip  
sudo rm -rf '/usr/lib/python3/dist-packages/pip'  
sudo apt install python3-pip   
cd
cd .local/lib/python3/site-packages
sudo rm -rf pip*  
cd
cd .local/lib/python3.5/site-packages
sudo rm -rf pip*  
python3 -m pip install --user xlwt

2
Ich habe versucht, aber immer noch den gleichen Fehler: imgur.com/a/nAdqU .
mlpy

Ich habe die neue Lösung ausprobiert, aber immer noch den gleichen Fehler.
mlpy

Ich habe das gleiche Problem auch. Wenn ich das tue sudo apt install python3-pip, erhalte ich die folgende Fehlermeldung:The following packages have unmet dependencies: python3-pip : Depends: python-pip-whl (= 8.1.1-2) but 8.1.1-2ubuntu0.4 is to be installed Recommends: build-essential but it is not going to be installed Recommends: python3-dev (>= 3.2) but it is not going to be installed Recommends: python3-wheel but it is not going to be installed E: Unable to correct problems, you have held broken packages.
Kristada673

@ Kristada673 Lesen Sie die Antworten auf diese Frage: askubuntu.com/questions/363200/… . Die Antwort von DragonLord hat bei mir funktioniert.
Karel

6

Wenn Sie das Paket python3-pip installieren, erstellen Sie ein Python-Skript in der Datei / usr / bin / pip3. Zum Ausführen muss die Funktion main () aus dem Modul pip ( from pip import main) importiert werden . Dieser Methodenpfad ist nur für die gepackte Pip-Version verfügbar (in meinem Fall 9.0.1).

Nach dem Ausführen pip3 install --upgrade pipwird die Pip-Version 18.1 und main () wurde verschoben pip._internal.

Verwenden Sie den Befehl python3 -m pip --version, um festzustellen, ob Ihr Fall der gleichen Situation entspricht (pip3 ist auch mit dieser Methode verfügbar, wenn ein Fehler vorliegt /usr/bin/pip3).

Wenn ja, ersetzen Sie in Datei / usr / bin / pip3 Zeile 9: from pip import main durch: from pip._internal import main

Das Problem wird behoben. (Getestet auf Ubuntu 18.04 Distribution)


Nachdem ich den Import geändert habe, wird ein anderer Fehler angezeigtFile "/usr/bin/pip3", line 11, in <module> sys.exit(main()) TypeError: 'module' object is not callable
Miranda

2

Folgendes habe ich hilfreich gefunden:

  1. sudo rm -rf /usr/local/lib/python3.5/dist-packages
  2. Laufen Sie niemals nach pip3innen sudo.

Während das vielleicht Abhilfe schafft, können Sie bitte Ihre Antwort erweitern? Warum dieses Verzeichnis entfernen (vielleicht eine Einschränkung über den python3.5Pfad hinzufügen ), warum es nie mit sudo ausführen und so weiter ..
Robert Riedl

Ich bin kein Experte in diesem Bereich - ich wollte nur mitteilen, was für mich funktioniert hat.
Jan Lachnitt


1

Löschen Sie zuerst die beschädigte pip3:

rm /user/bin/pip3 /user/local/bin/pip3

Installieren Sie das neue neu:

sudo apt-get remove python3-pip
sudo apt-get install python3-pip

0

Hatte das gleiche Problem, die Installation von openssl hat es für mich behoben


Aber openssl installiert sich bereits auf meinem Ubuntu: imgur.com/a/60kIM . Vielleicht liegt es an einem anderen Grund.
mlpy

0

Wie @ Vincent H. erwähnte, stieß ich auf das gleiche Problem.

Traceback (letzter Aufruf zuletzt): Datei "/home/ashish/.local/bin/pip3", Zeile 7, von pip._internal import main importError: Kein Modul mit dem Namen 'pip._internal'

Die Lösung für das Problem war , zu ersetzen , pip._internalum pipin .local/bin/pip3indem sudo gedit .local/bin/pip3.


0

Dies ist ein Problem, aber Sie können es lösen.

rm /user/bin/pip3 /user/local/bin/pip
sudo apt-get remove python-pip

als neu installieren

sudo apt-get install python-pip
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.