CentOS安装Python环境

前言

本篇提供一个在Centos7上部署一个Python环境的教程。Python程序被广泛开发与应用,在云服务器部署显得尤为重要,但部署过程繁琐且多坑。

安装OpenSSL 1.1.x

构建 Python 3.11 需要openssl 1.1.1及以上更新版本。系统存储库中可用的版本是旧的。
下载OpenSSL 1.1.1源码

1
wget https://www.openssl.org/source/openssl-1.1.1.tar.gz

解压源代码

1
2
tar -zxvf openssl-1.1.1.tar.gz
cd openssl-1.1.1

配置和编译

1
2
3
./config --prefix=/usr/local/openssl-1.1.1 --openssldir=/usr/local/openssl-1.1.1
make
make install

配置环境变量(可选)

1
export LD_LIBRARY_PATH=/usr/local/openssl-1.1.1/lib:$LD_LIBRARY_PATH

验证安装

1
/usr/local/openssl-1.1.1/bin/openssl version

配置全局生效
编辑环境变量配置文件

1
sudo vi /etc/profile

添加以下行

1
2
export PATH=/usr/local/openssl-1.1.1/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/openssl-1.1.1/lib:$LD_LIBRARY_PATH

使更改生效

1
source /etc/profile

可通过如下指令查看OpenSSL版本

1
openssl version

下载libffi-devel库

运行如下指令

1
sudo yum install libffi-devel

查看版本

1
rpm -qi libffi-devel

安装Python3.11

下载Python3.11的源代码

1
wget https://www.python.org/ftp/python/3.11.9/Python-3.11.9.tgz

如果下载比较慢,也可以从官网下载后通过SFTP传到服务器上。
提取存档

1
tar xvf Python-3.11.2.tgz

进入到解压目录

1
cd Python-3.11*/

配置构建

1
2
LDFLAGS="${LDFLAGS} -Wl,-rpath=/usr/local/openssl-1.1.1/lib" ./configure --with-openssl=/usr/local/openssl-1.1.1
make

安装编译

1
sudo make altinstall

查看Python版是否安装成功

1
python3.11 --version

验证OpenSSL是否正常

1
2
3
python3.11
import ssl
ssl.OPENSSL_VERSION

查看pip版本

1
pip3.11 --version

虚拟环境

如有需要,可以参考。
我还是喜欢跑全局的(大不了人跑)

1
2
python -m venv myenv
source myenv/bin/activate

查看虚拟环境地址

1
echo $VIRTUAL_ENV

退出虚拟环境

1
deactivate