关于pyenv:如何从正在运行的脚本中告诉Python解释器正在运行它?

How to tell, from within a running script, what Python interpreter is running it?

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

我想在我的脚本中输出运行它的python解释器的完整路径:

1
2
3
#!/usr/bin/env python

print("{}".format(full_path_of_interpreter_running_this_script)

脚本位于PATH中,运行方式为:

1
script.py

我可以那样做吗?怎么用?

注:在bash中执行which pythontype python对我没有帮助,因为我正在使用pyenv,而pyenv是在做垫片魔术。

注意:除了识别python可执行文件之外,我对识别正在使用的virtualenv很感兴趣,而且我认为了解解释器的完整路径将有助于实现这一点。


这将提供用于运行脚本的命令的完整路径:

1
2
import sys
print(sys.executable)