Python 在大多数 Linux 分发都有预装,且如所有其它包是可用的。不管怎样,可能想要使用的某些特性在您的发行包中是不可用的。可以从源代码轻松编译最新版本的 Python。
若 Python 未预装且也不在存储库中,可以轻松制作您自己的分发包。查看下列链接:
另请参阅
对于 Debian 用户
对于 OpenSuse 用户
对于 Fedora 用户
对于 Slackware 用户
FreeBSD 用户,要添加包使用:
pkg install python3
OpenBSD 用户,要添加包使用:
pkg_add -r python pkg_add ftp://ftp.openbsd.org/pub/OpenBSD/4.2/packages/<insert your architecture here>/python-<version>.tgz
例如 i386 用户获取 2.5.1 版的 Python 使用:
pkg_add ftp://ftp.openbsd.org/pub/OpenBSD/4.2/packages/i386/python-2.5.1p2.tgz
可以获取 Python 从
OpenCSW
。有各种可用 Python 版本,且可以安装如采用
pkgutil -i python27
.
若想自己编译 CPython,首先应该做的事情是获取 source 。可以下载最新发行的源代码,或仅仅直接抓取新鲜 clone (若想要贡献补丁,将需要克隆)。
构建过程通常由下列命令组成:
./configure make make install
配置选项 和特定 Unix 平台告诫有广泛文档化在 README.rst 文件位于 Python 源代码树根下。
警告
make install
可以覆写或伪装
python3
二进制。
make altinstall
因此推荐代替
make install
由于它仅安装
exec_prefix/bin/pythonversion
.
这可能因本地安装约定而异;
prefix
(
${prefix}
) 和
exec_prefix
(
${exec_prefix}
) 从属安装且应该被解释成 GNU 软件;他们可能相同。
例如,在大多数 Linux 系统,两者默认为
/usr
.
| 文件/目录 | 含义 |
|---|---|
exec_prefix/bin/python3
|
推荐的解释器位置。 |
prefix/lib/pythonversion
,
exec_prefix/lib/pythonversion
|
包含标准模块的推荐目录位置。 |
prefix/include/pythonversion
,
exec_prefix/include/pythonversion
|
包含开发 Python 扩展和嵌入解释器所需包括文件的推荐目录位置。 |
要在 Unix 轻松使用 Python 脚本,需要使它们可执行,如采用
$ chmod +x script
并在脚本顶部放置适当 Shebang 行。好的选择通常是
#!/usr/bin/env python3
搜索 Python 解释器在整个
PATH
。不管怎样,某些 UNICE 可能没有
env
命令,所以可能需要硬编码
/usr/bin/python3
作为解释器路径。
要在 Python 脚本中使用 Shell 命令,查看
subprocess
模块。
要使用您供应商的 OpenSSL 配置和系统信任存储,定位目录采用
openssl.cnf
文件 (或符号链接) 在
/etc
。在大多数分发文件在
/etc/ssl
or
/etc/pki/tls
。目录还应包含
cert.pem
文件和/或
certs
目录。
$ find /etc/ -name openssl.cnf -printf "%h\n" /etc/ssl
下载、构建及安装 OpenSSL。确保使用
install_sw
和不
install
。
install_sw
目标不会覆盖
openssl.cnf
.
$ curl -O https://www.openssl.org/source/openssl-VERSION.tar.gz $ tar xzf openssl-VERSION $ pushd openssl-VERSION $ ./config \ --prefix=/usr/local/custom-openssl \ --libdir=lib \ --openssldir=/etc/ssl $ make -j1 depend $ make -j8 $ make install_sw $ popd
构建 Python 采用自定义 OpenSSL (见配置
--with-openssl
and
--with-openssl-rpath
选项)
$ pushd python-3.x.x $ ./configure -C \ --with-openssl=/usr/local/custom-openssl \ --with-openssl-rpath=auto \ --prefix=/usr/local/python-3.x.x $ make -j8 $ make altinstall
注意
OpenSSL 补丁发行拥有向后兼容 ABI (应用程序二进制接口)。不需要重新编译 Python 以更新 OpenSSL。采用较新版本替换自定义 OpenSSL 安装已足够。