Mam kilka niestandardowych poleceń.Błąd popen: [Errno 2] Brak takiego pliku lub katalogu
# works
subprocess.Popen(['python'], stdout=subprocess.PIPE)
Ale jeśli mam własne poleceń systemowych jak deactivate
, otrzymuję ten błąd
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
nie mówiąc muszę wykonać to pod moim piaskownicy virtualenv.
Być może 'python' nie znajduje się w zmiennej środowiskowej' PATH' podczas działania skryptu. Spróbuj ustawić pełną ścieżkę do Pythona, czyli '/ usr/bin/python'. –
Czy możesz wyjaśnić, co próbujesz osiągnąć? Podejrzewam, że powłoka podrzędna, którą uruchamiasz z 'podprocesorem', nie" pochodzi "ze skryptu aktywacyjnego virtualenv i nie jest dziedziczona z macierzystego procesu Python (zakładając, że jest to miejsce, z którego go uruchamiasz). –