Python: OSError: [Errno 2] No such file or directory auf Teilprozess.Popen
Habe ich Hinzugefügt, den Pfad zu mytool .bashrc und ich laufen konnte mytool --help
aus jedem Pfad in der bash-shell. Aber wenn ich führen Sie den folgenden Codeausschnitt, den ich bekommen :
Datei "/usr/lib/python2.7/subprocess.py", line 1249, in
_execute_child
erhöhen child_exception OSError: [Errno 2] No such file or directory
import subprocess
command_array = ['mytool', '--help']
p = subprocess.Popen(command_array,
stderr=subprocess.STDOUT, stdout=subprocess.PIPE,
)
for line in iter(p.stdout.readline, b''):
print(line)
p.stdout.close()
Wie kann ich dies beheben?
EDIT: Wenn ich die python-Datei aus dem terminal (bash), funktioniert es einwandfrei. Aber wenn ich von PyCharm (debugger) oder andere Muscheln es gibt den oben genannten Fehler.
Wie ändere ich mein script so, dass es läuft 'mytool' in der bash, wenn ich das Skript von anderen shells? Ich brauche die Umgebung Hinzugefügt .bashrc
InformationsquelleAutor Nemo | 2015-07-11
Du musst angemeldet sein, um einen Kommentar abzugeben.
Fügen Sie diese drucken auf Ihre Datei:
Vergleichen Sie die Ausgänge nach der Skript-Ausführung aus der IDE und dem terminal.
Sie sollten beachten, dass der IDE -
PATH
beinhaltet nicht diemytool
's-Verzeichnis.Versuchen Sie, eine von beiden (oder beide): 1)
command_array = ['/path/to/mytool', '--help']
2) Aktualisieren Sie diePATH
environment-variable in deiner IDE (howTo)Hinzufügen environmnet in PyCharm hat den trick. Danke!
InformationsquelleAutor Eugeniu Rosca
Gehen Sie zu:
Run/Debug Configurations
->Environment variables
Hinzufügen Stilllegung:
PATH
= Ausgabe Sie shellecho $PATH
InformationsquelleAutor Nir Vana