一. 卸载老版本Python
yum remove python3*
二. 升级OpenSSL
因为
Python3.10
要求OpenSSL 1.1.x版本
, 而Centos7
自带的版本为OpenSSL 1.0.2k-fips 26 Jan 2017
, 所以必须升级OpenSSL
, 否则将无法使用pip
安装模块. 详情查看
- 下载OpenSSL
wget https://www.openssl.org/source/openssl-1.1.1l.tar.gz
- 解压
tar -zxvf openssl-1.1.1l.tar.gz
- 进入解压好的目录
cd openssl-1.1.1l
- 编译安装
./config --prefix=/usr/local/openssl
make -j2 && make install
- 替换当前系统的OpenSSL为新版
mv /usr/bin/openssl /usr/bin/openssl.old
mv /usr/lib64/openssl /usr/lib64/openssl.old
mv /usr/lib64/libssl.so /usr/lib64/libssl.so.old
ln -s /usr/local/openssl/bin/openssl /usr/bin/openssl
ln -s /usr/local/openssl/include/openssl /usr/include/openssl
ln -s /usr/local/openssl/lib/libssl.so /usr/lib64/libssl.so
echo "/usr/local/openssl/lib" >> /etc/ld.so.conf
# 建立动态链接库
ldconfig -v
- 查看OpenSSL版本
openssl version
三. 升级GCC版本
四. 升级Python
- 下载Python3.10压缩包
wget https://www.python.org/ftp/python/3.10.0/Python-3.10.0.tar.xz
- 解压
tar xvf Python-3.10.0.tar.xz
- 进入Python解压目录
cd Python-3.10.0
- 编译安装
./configure --prefix=/usr/local/python3 --with-openssl=/usr/local/openssl --enable-optimizations && make && make install
- 创建软连接
ln -s /usr/local/python3/bin/python3 /usr/bin/python3
ln -s /usr/local/python3/bin/pip3 /usr/bin/pip3
- 查看
Python
和pip
版本
python3 -V
Python 3.10.0
pip3 -V
pip 21.3.1 from /usr/local/python3/lib/python3.10/site-packages/pip (python 3.10)
- 使用
pip
安装测试, 是否可用
pip3 install flask
Looking in indexes: https://mirrors.aliyun.com/pypi/simple/
Collecting flask
Downloading https://mirrors.aliyun.com/pypi/packages/8f/b6/b4fdcb6d01ee20f9cfe81dcf9d3cd6c2f874b996f186f1c0b898c4a59c04/Flask-2.0.2-py3-none-any.whl (95 kB)
|████████████████████████████████| 95 kB 5.0 MB/s
Requirement already satisfied: click>=7.1.2 in /usr/local/python3/lib/python3.10/site-packages (from flask) (8.0.3)
Collecting Jinja2>=3.0
Downloading https://mirrors.aliyun.com/pypi/packages/20/9a/e5d9ec41927401e41aea8af6d16e78b5e612bca4699d417f646a9610a076/Jinja2-3.0.3-py3-none-any.whl (133 kB)
|████████████████████████████████| 133 kB 18.4 MB/s
Collecting Werkzeug>=2.0
Downloading https://mirrors.aliyun.com/pypi/packages/1e/73/51137805d1b8d97367a8a77cae4a792af14bb7ce58fbd071af294c740cf0/Werkzeug-2.0.2-py3-none-any.whl (288 kB)
|████████████████████████████████| 288 kB 94.7 MB/s
Collecting itsdangerous>=2.0
Downloading https://mirrors.aliyun.com/pypi/packages/9c/96/26f935afba9cd6140216da5add223a0c465b99d0f112b68a4ca426441019/itsdangerous-2.0.1-py3-none-any.whl (18 kB)
Collecting MarkupSafe>=2.0
Downloading https://mirrors.aliyun.com/pypi/packages/53/e8/601efa63c4058311a8bda7984a2fe554b9da574044967d7aee253661ee46/MarkupSafe-2.0.1-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl (30 kB)
Installing collected packages: MarkupSafe, Werkzeug, Jinja2, itsdangerous, flask
Successfully installed Jinja2-3.0.3 MarkupSafe-2.0.1 Werkzeug-2.0.2 flask-2.0.2 itsdangerous-2.0.1
OK
2 comments
卸载python,然后用yum
我也想
但是当时版本太新了, 没找到yum源