Ich versuche, ein Python-Programm auszuführen, bekomme aber den Fehler
ImportError: No module named argparse
Ich fand die Frage “argparse Python-Module in cli” hier auf StackOverflow und versuchte den ersten Kommentar, d. H. Den Befehl auszuführen
python -c "import argparse; print argparse"
was dazu geführt hat
<module 'argparse' from '/usr/lib/python2.7/argparse.pyc'>
Für mich scheint Python 2.7 auf der Maschine installiert zu sein (von der ich kein Administrator bin) und das Modul argparse
ist ebenfalls vorhanden. Ich wundere mich also, warum das Modul nicht gefunden wird. Auf einem anderen Rechner wird das Skript so ausgeführt, wie es sollte. In dem Beitrag, auf den oben Bezug genommen wurde, ist der Kommentar, dass sys.path
möglicherweise defekt ist. Ich habe keine Ahnung, was das bedeutet oder wie ich seinen Wert ändern kann. Irgendwelche Ideen?
Versuchen Sie, argparse
zu installieren:
easy_install argparse
Auf CentOS habe ich dies mit yum install python-argparse
. HT zu LVA für den korrekten Paketnamen gelöst.
Auf einem Debian-System können Sie das argparse-Paket mit dem folgenden Befehl installieren:
Sudo apt-get install python-argparse
Sie sind wahrscheinlich verwenden eine andere Version von Python mit Ihrem Skript als das, das Sie in der Befehlszeile ausführen. Stellen Sie sicher, dass das Skript diesen Interpretor verwendet: /usr/lib/python2.7
. Diese Installation hat sicher argparse
, wie Sie es beim Import in Ihrem ersten Beitrag bewiesen haben.
Warum kann Ihr Skript eine andere Python-Installation verwenden? Dies kann das Ergebnis einer Shebang-Zeile der ersten Zeile Ihres Skripts sein, die auf einen anderen Python-Interpretor verweisen könnte, in dem das Modul argparse
nicht installiert ist.
BEARBEITEN: Ein anderes Problem kann sein, dass Ihr Skript die sys.path
-Liste bereinigt, und es wäre sehr schlecht, da auf alle vorinstallierten Module nicht zugegriffen werden könnte.
Führen Sie diesen Befehl aus: yum install -y python-argparse
. Es kann das Problem beheben, wenn Sie CentOS sind.
Sie haben das Modul nicht in der korrekten Version von Python installiert. Es gibt zwei Möglichkeiten, wie Sie das beheben können
Eines davon sollte funktionieren, aber wenn nicht versucht wird, neu zu starten. VIEL GLÜCK!! :)
Wenn Ihre Quelldatei mit argparse denselben Namen hat und Sie sie mit Ihren Skripts in das aktuelle Verzeichnis schreiben, kann das Problem auftreten.