正如标题所说,我在 Fedora 下启动新的子进程时遇到问题。现在的情况是,我有一个主要的 python 脚本,我使用以下命令启动其他几个 python 进程:
import subprocess
subprocess.Popen(['python', '-m', 'first_child.run', 'start'], shell=False)
现在这可以在 MacOS、debian 和 Windows 上正常运行。在 Fedora 上,如果我从 Aptana 3 IDE 运行它,它也可以工作,唯一的问题是当我尝试从终端运行这个主脚本时,我得到:
OSError: [Errno 2] No such file or directory
您知道这里可能出现什么问题吗?
问候, 博格丹
最佳答案
很抱歉,如果您已经想到了这一点,但是调用子进程导致 OSError 的最常见原因是它找不到进程
http://docs.python.org/library/subprocess.html#exceptions
你绝对确定Python在你的路径中吗?
我知道你可能会指出你是从 python 可执行文件运行这个脚本的 - 但我想我会尝试一下,也许你在从终端运行它时指定了 python 的完整路径。
为了好玩,在调用子进程之前,您可以转储您的路径
import os
print os.environ['PATH']
关于python - Fedora 16,python subprocess.Popen 从 IDE 与从终端,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9927961/