我已经弄清楚如何检索 python 环境的包含路径和站点包路径。例如以下是 one of multiple possibilities :
from distutils.sysconfig import get_python_lib, get_python_inc
print(get_python_lib()) # Prints the location of site-packages
print(get_python_inc()) # Prints the location of the include dir
但是,我无法找到一种可靠的方法来检索 python 环境的 bin 文件夹,即 python 本身以及 pip、pyinstaller、easy_install 等工具通常所在的文件夹。有谁知道我如何从 python 中获取这条路径?
有些人可能会建议binpath = os.path.dirname(sys.executable)
。然而,在 Mac 上,如果 python 作为框架安装(binpath
将指向:/Library/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/目录/MacOS
)
我可以使用什么来代替跨平台工作?
最佳答案
获取此位置的 stdlib 方法是通过 sysconfig
模块。适用于 2.7 和 3.3+。无论您是否使用虚拟环境,都可以工作。
>>> from sysconfig import get_path
>>> get_path('scripts')
'/usr/local/Cellar/python/3.7.0/Frameworks/Python.framework/Versions/3.7/bin'
几乎所有带有要安装脚本的软件包都会将它们放在那里。但是,请注意,使用命令式安装程序时,setup.py
代码实际上会被执行,这意味着在获得许可的情况下,它实际上可以在文件系统上的任何位置放置脚本。
关于python - 如何robuSTLy检索python环境的bin路径?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48575598/