
[英]Python: subprocess.Popen returns OSError: [Errno 2] No such file or directory
[英]Python: OSError: [Errno 2] No such file or directory on subprocess.Popen
我在.bashrc中添加了mytool的路径,我可以从bash shell中的任何路径运行mytool --help
。 但是,当我运行以下代码片段时,我得到:
文件“/usr/lib/python2.7/subprocess.py”,第1249行,在_execute_child中引发child_exception OSError:[Errno 2]没有这样的文件或目录
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运行时,它会给出上述错误。
当我从其他shell运行脚本时,如何更改我的脚本以便它在bash中运行'mytool'? 我需要在.bashrc中添加的环境
将此打印添加到您的文件中:
import os
print os.environ['PATH']
从IDE和终端运行脚本后比较输出。
您应该注意到IDE的PATH
不包含mytool
的目录。
去:
Run/Debug Configurations
- > Environment variables
添加休息:
PATH
=向你输出shell echo $PATH
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.