Python subprocess.Popen() error (No such file or directory)

这个错误很容易引起误解,一般人都会认为是命令执行了,但是命令找不到作为参数对应的文件或者目录。其实还有一层含义,就是这个命令找不到,命令找不到,也会报没有这个文件或者目录的错误。


为什么找不到这个命令呢?


1. 格式错误,不能直接传入字符串,如果直接传入字符串,需要设置shell=True,这种方法不被推荐,有安全隐患


2. 环境变量的配置,路径没有配置正确,找不到这个bin,创建子进程,因为没有执行/etc/profile的配置脚本,所以环境变量没有这个路径, 所以一般脚本执行都像这样写全路径 /usr/bin/python, 避免找不到python这个命令。