获取正在执行脚本的 python 二进制文件的路径
我有一个 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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
该路径可在
sys.executable
中找到。The path is available in
sys.executable
.