Python ist3.6 ImportError: cannot import name 'main' Linux RHEL6
Mein Ziel ist zum herunterladen und installieren awscli
http://docs.aws.amazon.com/cli/latest/userguide/awscli-install-linux.html
Scheint python und pip sind erforderlich, um zu erreichen mein Ziel.
Installation von python-via yum nicht für mich arbeiten, so dass ich heruntergeladen und installiert, Python ist3 manuell wie folgt:
wget https://www.python.org/ftp/python/3.6.1/Python-3.6.1.tar.xz
tar xf Python-3.6.1.tar.xz
cd Python-3.6.1.tar.xz
./configure
make
sudo make altinstall
Wenn ich
pip3.6 --version
Bekomme ich diese:
Traceback (most recent call last):
File "/usr/local/bin/pip3.6", line 7, in <module>
from pip import main
ImportError: cannot import name 'main'
Umgebung:
RHEL 6.6
Zugriff über ssh
Was ist Los? Wie zu installieren pip und Python ist3.6 richtig auf meiner linux-box?
Edit:
Wenn Sie versuchen, zu installieren via yum schlägt es fehl, so versuche ich zu vermeiden, mit yum:
[asemani@rcdc9pfda5r Python-3.6.1]$ sudo yum -y install python-pip
[sudo] password for asemeani:
Loaded plugins: security
Setting up Install Process
No package python-pip available.
Error: Nothing to do
Noch Ein Edit:
Nach dem Import sys und dann als sys.Weg dies ist, was ich bekommen:
[asemani@rcdc9pfda5r Python-3.6.1]$ python3.6
Python 3.6.1 (default, Apr 28 2017, 11:03:27)
[GCC 4.4.7 20120313 (Red Hat 4.4.7-17)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import sys
>>> sys.path
['', '/usr/local/lib/python36.zip', '/usr/local/lib/python3.6', '/usr/local/lib/python3.6/lib-dynload', '/usr/local/lib/python3.6/site-packages']
>>> quit()
[asemani@rcdc9pfda5r Python-3.6.1]$ ls -l /usr/local/lib/python3.6/site-packages
total 32
-rw------- 1 root root 126 Apr 27 23:45 easy_install.py
drwx------ 11 root root 4096 Apr 27 23:45 pip
drwx------ 2 root root 4096 Apr 27 23:45 pip-9.0.1.dist-info
drwx------ 5 root root 4096 Apr 27 23:45 pkg_resources
drwx------ 2 root root 4096 Apr 27 23:45 __pycache__
-rw-r--r-- 1 root root 119 Apr 27 23:45 README.txt
drwx------ 5 root root 4096 Apr 27 23:45 setuptools
drwx------ 2 root root 4096 Apr 27 23:45 setuptools-28.8.0.dist-info
InformationsquelleAutor der Frage Moonie Asemani | 2017-04-28
Du musst angemeldet sein, um einen Kommentar abzugeben.
Müssen Sie zum Bearbeiten der pip3-Datei so (dein Pfad könnte anders sein):
Und ändern Sie die import-main-Linie, so heißt es:
Nachdem diese änderung, meine pip3 zu arbeiten begonnen.
Fand ich diesen Tipp und weitere Informationen aus diesem thread:
https://github.com/pypa/pip/issues/5240
InformationsquelleAutor der Antwort Mulperi
Mein OS ist Linux Mint 18
Ändern
Zu
InformationsquelleAutor der Antwort Aftabul Islam
Nicht aufrufen pip/pip3 direkt, die Verknüpfungen an verschiedenen Standorten für unterschiedliche Nutzer-und Sie sind nicht gut gepflegt, wenn Sie ein upgrade pip (check 'die pip' und 'sudo die pip').
Diese Befehle nicht nehmen und shortcuts direkt aufrufen, pip-Modul, das sehr gepflegt ist (funktioniert auch auf Windows)
InformationsquelleAutor der Antwort TingQian LI
sudo chmod -R a+rx /usr/local/lib/python3.6/site-packages
Können Sie sehen, das problem in den
ls -l /usr/local/lib/python3.6/site-packages
Ausgabe, die Ihr pip-Verzeichnis ist nur lesbar durch den Eigentümer, die Wurzel.InformationsquelleAutor der Antwort Arthur
Tun
cd /usr/bin
Dann
sudo nano pip
so Bearbeiten Sie die pip-DateiÄndern
from pip import main
zufrom pip._internal import main
Dieser wird das Problem beheben
InformationsquelleAutor der Antwort Iyanuoluwa Ajao
versuchen Sie das folgende als eine Möglichkeit, um das Problem, bis es gelöst habe
InformationsquelleAutor der Antwort Cobry
Ich nicht genau weiß die Antwort, aber: dieser Fehler zeigt an, dass das Skript finden einige Paket namens
pip
aber nicht die richtige. Wahrscheinlich eine alte version von pip, von der Rückseite, bevor Sie erstellt einemain
Methode (Sie können überprüfenpip.__version__
von der python-shell).Ich bin bereit zu Wetten, dass du noch eine andere, ältere version von python installiert, das hat seine eigene version von pip. Aus irgendeinem Grund Ihre pythonpath laden ist, dass man statt des einen, der geht mit py3.6.
Einige Möglichkeiten zu betrachten:
Ich weiß nicht, etwas über redhat, aber gibt es einige redhat-spezifische Art und Weise der Auswahl der "Standard-python" verwendet werden?
Ist die shebang-Zeile am oberen Rand des pip-Skript so etwas wie
#!/usr/bin/env python
statt#!/usr/bin/python3.6
wie es sein sollte?Ist es möglich, zum ändern der shell ist der PFAD so, dass das heruntergeladene python verwendet?
Ist es möglich, ändern Sie Ihre PYTHONPATH (ich denke, es wird Hinzugefügt, um den Standard-Wert von
sys.path
im inneren python; schauen Sie), so dass es lädt die neuen pip anstelle des alten pip?InformationsquelleAutor der Antwort user3113723
Mein Betriebssystem war Mac sierra und ich musste ändern Sie die folgende Zeile
from pip import main
in
from pip._internal import main
InformationsquelleAutor der Antwort Kapidis
Scheint die get pip Skript fehlt die Tatsache, dass mehr als 1 version von python könnte sich auf eine Maschine. Also fügte ich die folgenden Zeilen:
Aus irgendeinem Grund war es das fehlen. Wie auch immer, das für mich gearbeitet. Vielen Dank für Ihre Hilfe Jungs.
InformationsquelleAutor der Antwort Moonie Asemani
Führen Sie die folgenden Schritte um das problem zu lösen --(Ubuntu-Debian)
Schritt 1 - Gehen Sie zum Verzeichnis,
öffnen und pip3-Datei mit gedit oder nano(via terminal) .
Schritt 2 - ändern
from pip import main
infrom pip._internal import main
P. S - Wenn Sie donot haben die Berechtigung zum ändern verwenden Sie den Befehl -
sudo chmod 777 pip3
und speichern Sie diese Datei.Hoffe, das hilft!!
InformationsquelleAutor der Antwort rahul ranjan