在Linux上编译Python时,需要进行一些配置
sudo apt-get update
sudo apt-get install -y build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncursesw5-dev xz-utils tk-dev libxml2-dev libxmlsec1-dev libffi-dev liblzma-dev python-openssl git
对于RHEL/CentOS系统,可以使用以下命令安装:
sudo yum groupinstall -y "Development Tools"
sudo yum install -y zlib-devel bzip2-devel readline-devel sqlite-devel openssl-devel xz-devel tk-devel libffi-devel
下载Python源代码。访问Python官方网站(https://www.python.org/downloads/source/ ),找到你需要的Python版本并下载源码包(例如:python-3.9.5.tgz
)。
解压源码包:
tar xvf python-3.9.5.tgz
cd python-3.9.5
./configure --prefix=/usr/local/python3.9.5 --enable-optimizations --with-lto --with-ensurepip=install --with-system-site-packages --with-openssl --with-zlib --with-bz2 --with-readline --with-sqlite3 --with-lzma --with-cpython-config=/usr/local/python3.9.5/PCbuild/config.gypi
这里是一些常用选项的解释:
--prefix
:指定安装路径。--enable-optimizations
:启用编译优化。--with-lto
:启用链接时优化。--with-ensurepip=install
:在安装Python时自动安装pip
。--with-system-site-packages
:将Python的site-packages
目录链接到系统全局的site-packages
目录。--with-openssl
:启用OpenSSL支持。--with-zlib
:启用Zlib支持。--with-bz2
:启用Bzip2支持。--with-readline
:启用Readline支持。--with-sqlite3
:启用SQLite3支持。--with-lzma
:启用LZMA支持。make -j$(nproc)
sudo make altinstall
make -j$(nproc)
命令会使用所有可用的CPU内核进行并行编译,以加快编译速度。sudo make altinstall
命令会以非root用户身份安装Python,避免覆盖系统默认的Python版本。
/usr/local/python3.9.5/bin/python3.9 --version
如果安装成功,这将输出你刚刚安装的Python版本。