Tôi có một số lệnh tùy chỉnh.Lỗi Popen: [Errno 2] Không có tệp hoặc thư mục nào như vậy
# works
subprocess.Popen(['python'], stdout=subprocess.PIPE)
Nhưng nếu tôi có lệnh hệ thống của riêng tôi như deactivate
, tôi nhận được rằng lỗi
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
Hãy để một mình tôi cần phải thực hiện điều này dưới virtualenv sandbox của tôi.
Có thể 'python' không nằm trong biến môi trường' PATH' khi tập lệnh của bạn chạy. Thử đặt đường dẫn đầy đủ thành python, ví dụ: '/ usr/bin/python'. –
Bạn có thể giải thích những gì bạn đang cố gắng hoàn thành không? Tôi nghi ngờ rằng shell con bạn đang khởi chạy với 'subprocess' không" có nguồn gốc "script kích hoạt virtualenv, và nó không được thừa kế từ quá trình Python cha (giả sử đó là nơi bạn đang chạy nó). –