首页 > 解决方案 > 获取原始 python 可执行文件的路径(不是 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

标签: pythonvirtualenv

解决方案


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

import sys
print(sys.base_prefix)

推荐阅读