获取执行脚本的 Python 二进制路径

54 投票
1 回答
46097 浏览
提问于 2025-04-16 12:44

我有一个Pylons控制器(这部分不重要,但解释了我为什么会有这个需求),比如说叫做 starter.py,它会启动另一个进程,使用的是:

retcode = subprocess.call(('python','/path/to/myScript.py'))

现在因为这个应用是在一个虚拟环境中运行的,所以直接用 python 这个命令是不对的,因为它无法访问我在虚拟环境中安装的库。

正确的做法应该是:

retcode = subprocess.call(('path/to/virtual/env/bin/python','/path/to/myScript.py'))

path/to/virtual/env/bin/python 就是正在运行 starter.py 的那个Python。

有没有办法不手动设置这个路径(比如在一个 .ini 文件中),然后再获取它呢?

1 个回答

112

这个路径可以在 sys.executable 里找到。

撰写回答