前言
本篇提供一个在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 | tar -zxvf openssl-1.1.1.tar.gz |
配置和编译
1 | ./config --prefix=/usr/local/openssl-1.1.1 --openssldir=/usr/local/openssl-1.1.1 |
配置环境变量(可选)
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 | export PATH=/usr/local/openssl-1.1.1/bin:$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 | LDFLAGS="${LDFLAGS} -Wl,-rpath=/usr/local/openssl-1.1.1/lib" ./configure --with-openssl=/usr/local/openssl-1.1.1 |
安装编译
1 | sudo make altinstall |
查看Python版是否安装成功
1 | python3.11 --version |
验证OpenSSL是否正常
1 | python3.11 |
查看pip版本
1 | pip3.11 --version |
虚拟环境
如有需要,可以参考。
我还是喜欢跑全局的(大不了人跑)
1 | python -m venv myenv |
查看虚拟环境地址
1 | echo $VIRTUAL_ENV |
退出虚拟环境
1 | deactivate |