我如何从Python脚本中知道Python可执行文件的位置?

How do I know the location of the Python executable from within the Python script?

本问题已经有最佳答案,请猛点这里访问。

我正在写一个叫做deploy.py的脚本。

它需要知道python可执行文件的位置。具体来说,首先用于调用脚本的python可执行文件。原因是它将生成一个shell脚本。

这就是我到目前为止所做的:

1
2
3
4
5
import sys

if __name__ == '__main__':
   executable = sys.argv[1]
   print executable

把脚本称为python deploy.py $(which python)。这是可行的。有更好的方法吗?

当然,我是从一个virtualenv跑来的。系统环境等中的PYTHONPATH不工作。


当前python可执行文件的路径位于sys.executable中:

1
2
import sys
print(sys.executable)

例如

1
2
PS C:\> py -c"import sys; print(sys.executable)"
C:\Python34\python.exe