Python:OSError:[Errno 2] subprocess.Popen上没有这样的文件或目录

时间:2015-07-11 21:39:44

标签: python linux bash pycharm popen

我在.bashrc中添加了mytool的路径,我可以从bash shell中的任何路径运行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() 。但是,当我运行以下代码片段时,我得到:

  

File" /usr/lib/python2.7/subprocess.py" ;,第1249行,在   _execute_child       raise child_exception OSError:[Errno 2]没有这样的文件或目录

{{1}}

我该如何解决这个问题?

编辑:当我从终端(bash)运行python文件时,它工作正常。但是当我从PyCharm(调试器)或其他shell运行时,它会给出上述错误。

如何更改我的脚本以使其运行' mytool'在bash中我从其他shell运行脚本?我需要在.bashrc中添加的环境

2 个答案:

答案 0 :(得分:5)

将此打印件添加到您的文件中:

import os
print os.environ['PATH']

从IDE和终端运行脚本后比较输出 您应该注意到IDE的PATH不包含mytool的目录。

答案 1 :(得分:0)

转到:

Run/Debug Configurations - > Environment variables

添加休息:

PATH =输出shell echo $PATH