获取原始 python 可执行文件的路径(不是 virtualenv)

Get path to original python executable (not the virtualenv)

在 virtualenv 中,sys.executable 给出 /path/to/venv/bin/python。如何获取创建 virtualenv 的 python 的路径,例如 /usr/bin/python3?

例如,

$ cd /tmp
$ virtualenv -p /usr/bin/python3 venv
Already using interpreter /usr/bin/python3
Using base prefix '/usr'
New python executable in /tmp/venv/bin/python3
Also creating executable in /tmp/venv/bin/python
Installing setuptools, pip, wheel...
done.
$ venv/bin/python -c 'import sys; print(sys.executable)'
/tmp/venv/bin/python

想要的答案是/usr/bin/python3

在 virtualenv 中,sys.real_prefix 是 virtualenv 使用的实际 Python 安装目录。
其他值得检查的变量是 sys.base_prefixsys.base_exec_prefix.
virtualenv 中 运行 的示例代码:

import sys
print(sys.base_prefix)