Python: OSError: [Errno 2] No such file or directory on subprocess.Popen
Python: OSError: [Errno 2] No such file or directory on subprocess.Popen
我已经在 .bashrc 中添加了 mytool 的路径,我可以从 bash shell 中的任何路径 运行 mytool --help
。但是,当我 运行 以下片段时,我得到:
File "/usr/lib/python2.7/subprocess.py", line 1249, in
_execute_child
raise 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()
我该如何解决这个问题?
编辑:当我 运行 来自终端 (bash) 的 python 文件时,它工作正常。但是当我从 PyCharm(调试器)或其他 shell 中 运行 时,它给出了上述错误。
如何更改我的脚本,使其 运行 在 bash 中 'mytool' 而我 运行 来自其他 shell 的脚本?我需要在 .bashrc
中添加环境
将此印刷品添加到您的文件中:
import os
print os.environ['PATH']
比较 运行 来自 IDE 和终端的脚本后的输出。
您应该注意到 IDE 的 PATH
不包括 mytool
的目录。
转到:
Run/Debug Configurations
-> Environment variables
添加休闲:
PATH
=输出给你shellecho $PATH
我已经在 .bashrc 中添加了 mytool 的路径,我可以从 bash shell 中的任何路径 运行 mytool --help
。但是,当我 运行 以下片段时,我得到:
File "/usr/lib/python2.7/subprocess.py", line 1249, in _execute_child raise 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()
我该如何解决这个问题?
编辑:当我 运行 来自终端 (bash) 的 python 文件时,它工作正常。但是当我从 PyCharm(调试器)或其他 shell 中 运行 时,它给出了上述错误。
如何更改我的脚本,使其 运行 在 bash 中 'mytool' 而我 运行 来自其他 shell 的脚本?我需要在 .bashrc
中添加环境将此印刷品添加到您的文件中:
import os
print os.environ['PATH']
比较 运行 来自 IDE 和终端的脚本后的输出。
您应该注意到 IDE 的 PATH
不包括 mytool
的目录。
转到:
Run/Debug Configurations
-> Environment variables
添加休闲:
PATH
=输出给你shellecho $PATH