Python3 sys.prefix 属性解析

译者:anxin
日期:2018-06-29

Python3 sys.prefix 就是我们在 Python 3 中常提到的 prefix,它用来指定 Python3 平台无关性文件的安装位置。默认情况下,它的值是 /usr/local;即:使用源码文件安装,不修改默认选项时,安装完成后 prefix 的值是 /usr/local,也就是 Python3 安装在了 /usr/local 文件夹中。在 Linux 系统下的 Deb 或者 Rpm 包中一般都把 prefix 的值修改为了 /usr,即:Python3 安装在了 /usr 文件夹中。

关于 Python3 平台相关性 exec_prefix 请查看:Python3 sys.exec_prefix 属性解析

在很多时候,prefix 和 exec_prefix 的值是相同的,即:Python3 的平台无关性文件和平台相关性文件安装在了同一目录下。

Python3 配置 prefix

Python3 prefix 的值在安装 Python3 时,可以在构建配置文件 ./configure 时使用参数 --prefix 指定,安装完成后不能再使用 --prefix 参数配置 prefix 变量。

特殊情况:安装完 Python3 后,在使用 Python3 时,在激活 Python 3 的虚拟环境 运行 site.py 脚本时,prefix 的值会被修改为 Python3 虚拟环境的目录,但是:Python3 base_prefix 变量会仍然指向 Python3 的平台无关性文件目录,即 prefix 的初始值。这样的好处是,在激活虚拟环境后,既能够访问虚拟环境中的文件,也能访问 Python3 安装后的系统文件,同时在不用 Python3 虚拟环境时,也方便对 prefix 值的还原。

在 Linux 系统下的 Deb 或者 Rpm 包中都在配置文件 configure 中把 prefix 的值修改为了 /usr

Python3 文件位置说明

Python3 平台无关性库模块(Library Modules)安装位置为:prefix/lib/pythonX.Y(X.Y 为 Python3 的版本,如:3.6)。

Python3 平台无关性头文件(Header Files,如:pyconfig.h)安装位置为:prefix/include/pythonX.Y(X.Y 为 Python3 的版本,如:3.6)。

本文链接:/tutorial/python3/python3-sys-prefix

本文版权归知站所有,未经站长同意不得转载,谢谢尊重作者劳动成果!