在 Linux 上安装 Python 3.11.9,推荐通过源码编译的方式,这样可以获得最佳的兼容性和灵活性。以下是详细步骤:
1. 安装依赖包
bash
# Ubuntu/Debian
sudo apt update
sudo apt install -y build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libreadline-dev libffi-dev libsqlite3-dev wget libbz2-dev
# CentOS/RHEL/Rocky Linux
sudo yum groupinstall -y "Development Tools"
sudo yum install -y gcc openssl-devel bzip2-devel libffi-devel zlib-devel readline-devel sqlite-devel
2. 下载 Python 源码
bash
cd /tmp
wget https://www.python.org/ftp/python/3.11.9/Python-3.11.9.tgz
tar -xzf Python-3.11.9.tgz
cd Python-3.11.9
3. 编译安装
bash
# 配置安装路径(推荐安装在 /usr/local 下)
./configure --enable-optimizations --with-ensurepip=install
# 编译(使用多核加速,例如4核)
make -j$(nproc)
# 安装
sudo make altinstall
注意 :使用 altinstall 而不是 install,避免覆盖系统默认的 Python 版本。
4. 验证安装
bash
python3.11 --version
# 输出:Python 3.11.9
pip3.11 --version
5. 设置别名(可选)
如果希望更方便使用,可以在 ~/.bashrc 或 ~/.zshrc 中添加:
bash
alias python=python3.11
alias pip=pip3.11
然后执行 source ~/.bashrc 使其生效。
6. 创建虚拟环境(推荐)
bash
# 使用新安装的 Python 创建虚拟环境
python3.11 -m venv myenv
# 激活虚拟环境
source myenv/bin/activate
常见问题
SSL 模块缺失
如果遇到 SSL 相关错误,确保已安装 libssl-dev(Ubuntu)或 openssl-devel(CentOS),然后重新编译:
bash
make clean
./configure --enable-optimizations --with-ssl
make -j$(nproc)
sudo make altinstall
缺少 sqlite3 模块
bash
# Ubuntu/Debian
sudo apt install libsqlite3-dev
# CentOS/RHEL
sudo yum install sqlite-devel
卸载(如需要)
Python 3.11.9 使用 altinstall 安装后,可以直接删除相关文件:
bash
sudo rm -rf /usr/local/bin/python3.11
sudo rm -rf /usr/local/lib/python3.11
这种方式安装的 Python 与系统 Python 完全隔离,不会影响系统稳定性。