CentOS 7上安装Python 3.11的详细步骤
CentOS 7上安装Python 3.11的详细步骤
一、安装依赖库
Python 3.11 的编译需要以下依赖库:
sudo yum -y groupinstall "Development Tools"
sudo yum -y install zlib zlib-devel libffi-devel openssl11 openssl11-devel readline-devel sqlite-devel ncurses-devel bzip2-devel xz-devel tk-devel
- 关键依赖:
openssl11
和openssl11-devel
:提供 OpenSSL 1.1.1+ 支持7。libffi-devel
:用于_ctypes
模块编译,避免ModuleNotFoundError
3 5。
二、配置 OpenSSL 环境
CentOS 7 默认 OpenSSL 版本(1.0.2)过低,需配置环境变量指向 OpenSSL 1.1.1:
# 设置编译参数
echo "export CFLAGS=$(pkg-config --cflags openssl11)" | sudo tee /etc/profile.d/openssl11.sh
echo "export LDFLAGS=$(pkg-config --libs openssl11)" | sudo tee -a /etc/profile.d/openssl11.sh
source /etc/profile # 立即生效[^3][^7]
三、安装 Python 3.11
1. 下载并解压源码
wget https://www.python.org/ftp/python/3.11.8/Python-3.11.8.tgz
tar -zxvf Python-3.11.8.tgz
cd Python-3.11.8
2. 编译配置
./configure
--prefix=/usr/local/python3.11
--enable-optimizations
--with-openssl=/usr
--with-openssl-rpath=auto
--enable-shared
- 参数说明:
--enable-shared
:生成共享库文件libpython3.11.so.1.0
。--with-openssl=/usr
:指向系统安装的 OpenSSL 1.1.17。
3. 编译并安装
make -j$(nproc) # 多核加速编译
sudo make install
四、配置环境
1. 添加软链接
sudo ln -sf /usr/local/python3.11/bin/python3.11 /usr/bin/python3.11
sudo ln -sf /usr/local/python3.11/bin/pip3.11 /usr/bin/pip3.11
2. 验证安装
python3.11 -V
pip3.11 list
3. 修复动态库路径
echo "/usr/local/python3.11/lib" | sudo tee /etc/ld.so.conf.d/python3.11.conf
sudo ldconfig
五、虚拟环境配置
1. 创建虚拟环境
python3.11 -m venv /opt/myproject
source /opt/myproject/bin/activate
2. 验证 SSL 模块
python -c "import ssl; print(ssl.OPENSSL_VERSION)" # 应显示 OpenSSL 1.1.1+
六、常见问题解决
1. ModuleNotFoundError: No module named '_ctypes'
-
原因:
libffi-devel
未安装。 -
修复:
sudo yum install libffi-devel -y make clean && make -j$(nproc) && sudo make install[^3]
2. libpython3.11.so.1.0 not found
-
原因:动态库路径未配置。
-
修复:
sudo ldconfig # 重新加载动态库[^3][^5]
3. pip 安装超时
-
修复:更换国内镜像源:
pip3.11 config set global.index-url https://mirrors.aliyun.com/pypi/simple
七、完整卸载(可选)
sudo rm -rf /usr/local/python3.11
sudo rm /usr/bin/python3.11 /usr/bin/pip3.11
通过以上步骤,可在 CentOS 7 上稳定运行 Python 3.11。