python - 如何robuSTLy检索python环境的bin路径?

标签 python python-3.x python-2.7

我已经弄清楚如何检索 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/

相关文章:

python - 如何在odoo 9中创建自动增量字段

python - 如何在openpyxl图表中显示日期格式

python-3.x - Intellij IDEA 导入类时出现问题, "cannot find reference"但代码仍然有效 - Python

python - 打印一个相当具体的矩阵

Python PyQt5 QMessageBox 打不开

python - 为什么 numba 不提高我的背包功能的速度?

python显示矩阵除法后的剩余值

python - 将 Pandas 数据框转换为包含索引、数据和列的列表列表

python - Cygwin和Windows路径冲突;同时使用 Windows 和 cygwin Python

python - 正则表达式精确匹配