1. 命令行和环境
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
若想自己编译 CPython,首先应该做的事情是获取 source 。可以下载最新发行的源代码,或仅仅直接抓取新鲜 clone (若想要贡献补丁,将需要克隆)。
构建过程通常由下列命令组成:
./configure make make install
配置选项 和特定 Unix 平台告诫有广泛文档化在 README.rst 文件位于 Python 源代码树根下。
警告
make install 可以覆写或伪装 python3 二进制。 make altinstall 因此推荐代替 make install 由于它仅安装 exec_prefix/bin/pythonversion .
make install
python3
make altinstall
exec_prefix/bin/pythonversion
这可能因本地安装约定而异; prefix and exec_prefix are installation-dependent and should be interpreted as for GNU software; they may be the same.
prefix
exec_prefix
例如,在大多数 Linux 系统,两者默认为 /usr .
/usr
文件/目录
含义
exec_prefix/bin/python3
prefix/lib/pythonversion , exec_prefix/lib/pythonversion
prefix/lib/pythonversion
exec_prefix/lib/pythonversion
包含标准模块的推荐目录位置。
prefix/include/pythonversion , exec_prefix/include/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 作为解释器路径。
PATH
/usr/bin/python3
要在 Python 脚本中使用 Shell 命令,查看 subprocess 模块。
subprocess
要使用您供应商的 OpenSSL 配置和系统信任存储,定位目录采用 openssl.cnf 文件 (或符号链接) 在 /etc 。在大多数分发文件在 /etc/ssl or /etc/pki/tls 。目录还应包含 cert.pem 文件和/或 certs 目录。
openssl.cnf
/etc
/etc/ssl
/etc/pki/tls
cert.pem
certs
$ find /etc/ -name openssl.cnf -printf "%h\n" /etc/ssl
下载、构建及安装 OpenSSL。确保使用 install_sw 和不 install 。 install_sw 目标不会覆盖 openssl.cnf .
install_sw
install
$ 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 选项)
--with-openssl
--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 安装已足够。
3. 配置 Python
键入搜索术语或模块、类、函数名称。