如何在Python中使用当前的Python解释器运行外部Python脚本?

2024-09-27 22:20:44 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在修改别人的Python代码,它当前使用系统的默认Python同步执行一个外部Python脚本(fast-downward)(并获取返回代码):

code = os.system("%s/src/translate/translate.py %s %s" % (down_home, domain, pddl) # ...

我不想让/usr/local/bin/python2.7成为默认的Python解释器(CentOS附带了一个旧的Python)。如何使用当前的Python解释器调用外部Python脚本?在

我不想叉子。我试试这个建议,但我需要返回码。在


Tags: 代码pysrc脚本homeosdomain系统
3条回答

你可以用新的解释器。您可以安装新的Python,但不要将其作为主系统Python。或者您已经安装了Python2.7。在

https://github.com/0xdata/h2o/wiki/Installing-python-2.7-on-centos-6.3.-Follow-this-sequence-exactly-for-centos-machine-only

那么

pip install virtualenv
virtualenv venv  distribute -p /usr/local/bin/python2.7
source venv/bin/activate

现在您的路径将被调整到本地venv目录,其中包含新的Python。您可以安装依赖项等,它们只会安装到venv中。这是一种很好的将环境相互隔离的方法。在

应该是这样:

import subprocess, sys
subprocess.call([sys.executable, ...])

您可以使用check_callfrom{}您可以获得返回值,如果返回代码不为零,则会引发该值。在

相关问题 更多 >

    热门问题