我有一些自定義命令。Popen錯誤:[Errno 2]沒有這樣的文件或目錄
# works
subprocess.Popen(['python'], stdout=subprocess.PIPE)
但是,如果我有一個像deactivate
我自己的系統命令,我得到這個錯誤
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
別說我需要在我的沙箱的virtualenv執行此。
腳本運行時'python'不在'PATH'環境變量中。嘗試設置python的完整路徑,即'/ usr/bin/python'。 – 2012-03-29 23:44:24
你能解釋你想完成什麼嗎?我懷疑你用'subprocess'啓動的子shell沒有「源」virtualenv激活腳本,它不是從父Python進程繼承的(假設這是你運行它的地方)。 – 2012-03-29 23:45:45