在一个py程序中使用os.system,subprocess.run运行shell指令去运行另一个py程序报错:/bin/sh: 1: python: not found
python语句为:
subprocess.run('python modules/yolo5/detect_side.py', shell=True)
报错如图:
报错原因:
python解释器 不在系统的 PATH 环境变量中
解决方法:
因为python解释器 不在系统的 PATH 环境变量中,所以要将python解释器的目录添加到系统的 PATH 环境变量中去,要解决这个问题首先得知道python解释器的目录。
使用下面语句查看当前PATH环境变量
print("Current PATH environment variable:")
print(os.environ['PATH'])
得到当前当前PATH环境变量如下:
python解释器所在地址为:
因此使用下面语句将该地址添加到系统环境变量中即可:
os.environ['PATH'] = '/home/tangqihui/.conda/envs/zef3d/bin:' + os.environ['PATH']
再次查看当前环境变量为:
成功添加进去了!!
再次运行命令
subprocess.run('python modules/yolo5/detect_side.py', shell=True)
成功运行!!