sys.executable
报告的路径与我显式运行的 Python 解释器不同。这是我观察到的:
$ /usr/bin/python3
Python 3.9.6 (default, Oct 4 2024, 08:01:31)
[Clang 16.0.0 (clang-1600.0.26.4)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import sys
>>> print(sys.executable)
/Library/Developer/CommandLineTools/usr/bin/python3 # different from /usr/bin/python3
$ ls -l /usr/bin/python3
-rwxr-xr-x 78 root wheel 118848 Nov 15 12:59 /usr/bin/python3
/usr/bin/python3
不是符号链接,所以我希望
sys.executable
能够匹配它。相反,
sys.executable
指向
/Library/Developer/CommandLineTools/usr/bin/python3
。为什么?如何确保实际的 Python 可执行路径与我显式运行的路径匹配?
任何见解或澄清将不胜感激!
/usr/bin
中安装 shims(包装器可执行文件)。所以
/usr/bin/python3
不是 Python 解释器,它是一个启动 Python 解释器的可执行文件。