获取正在执行脚本的 python 二进制文件的路径

发布于 2024-10-19 21:09:34 字数 502 浏览 2 评论 0原文

我有一个 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 相同。

有机会不设置此路径(例如,在 .ini 文件中)并检索它吗?

I have a Pylons controller (irrelevant but explains why I have this need) say starter.py that starts another process using:

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

now since the app runs in a virtual env python is not the right binary to call since it has no access to site-packages installed in my virtual env.

It should be instead:

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

and path/to/virtual/env/bin/python is the same that is running starter.py.

Any chance to not set this path (say, in a .ini file) and retrieve it?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

金兰素衣 2024-10-26 21:09:34

该路径可在 sys.executable 中找到。

The path is available in sys.executable.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文