1 安装依赖项
sudo apt update
sudo apt install -y build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libsqlite3-dev libreadline-dev libffi-dev wget
2 下载Python 3.12源代码
# 下载
wget https://www.python.org/ftp/python/3.12.0/Python-3.12.0.tar.xz
# 解压源代码:
tar -xvf Python-3.12.0.tar.xz
# 进入目录:
cd Python-3.12.0
# 配置安装选项:
sudo ./configure --enable-optimizations --prefix=/usr/local/python312
# 编译和安装:
sudo make -j $(nproc) # $(nproc) 会被替换为实际的 CPU 核心数量,并行编译 项目,使用所有可用的 CPU 核心
sudo make altinstall # 在原有安装基础上进行额外安装
# 使用 make altinstall 而不是 make install 是为了避免覆盖系统默认的Python版本。
# 在Python的./configure脚本中,常用的–enable参数及其含义如下:
–enable-ipv6:启用IPv6支持。
–enable-unicode=ucs4:启用UCS-4编码的Unicode支持。
–enable-shared:启用共享库的构建。
–enable-optimizations:启用优化,对Python进行一些优化以提高性能。
–enable-openssl:启用OpenSSL支持。
–enable-threads:启用多线程支持。
–enable-ssl-default-suites:启用默认的SSL密码套件。
这些参数可以根据你的需求进行配置,以便根据特定的功能或性能要求来构建Python。
在Python的./configure脚本中,常用的–with参数及其含义如下:
–with-threads:指定线程库的类型,例如–with-threads=pthread。
–with-dbmliborder:指定数据库访问库的优先顺序,例如–with-dbmliborder=gdbm:ndbm。
–with-computed-gotos:启用computed goto优化。
–with-ensurepip:指定ensurepip模块的安装方式,例如–with-ensurepip=upgrade。
–with-system-expat:使用系统安装的expat库。
–with-openssl:指定OpenSSL库的路径,例如–with-openssl=/usr/local/ssl
3 验证安装
python3.12 --version