Ich habe einige benutzerdefinierte Befehle.Popen Fehler: [Errno 2] Keine solche Datei oder Verzeichnis
# works
subprocess.Popen(['python'], stdout=subprocess.PIPE)
Aber wenn ich mein eigenes System Befehle wie deactivate
haben, bekomme ich diesen Fehler
Traceback (most recent call last):
File "runner2.py", line 21, in <module>
main()
File "runner2.py", line 18, in main
subprocess.Popen(['deactivate',], stdout=subprocess.PIPE)
File "/usr/lib/python2.6/subprocess.py", line 633, in __init__
errread, errwrite)
File "/usr/lib/python2.6/subprocess.py", line 1139, in _execute_child
raise child_exception
OSError: [Errno 2] No such file or directory
allein Lassen ich dies unter meinem Sandbox virtualenv ausführen müssen.
Vielleicht 'Python' ist nicht auf der 'PATH' Umgebungsvariable, wenn Ihr Skript ausgeführt wird. Versuchen Sie, den vollständigen Pfad zu Python festzulegen, d. H. '/ Usr/bin/python'. –
Können Sie erklären, was Sie erreichen möchten? Ich vermute, dass die Child-Shell, die Sie mit "subprocess" starten, das virtualenv-Aktivierungsskript nicht "bezogen" hat und nicht vom übergeordneten Python-Prozess geerbt wurde (vorausgesetzt, dass Sie es dort ausführen). –