一、检查Python版本
# 当前默认的版本
python -v
# 列出所有的python的版本
ll /usr/bin/python*
二、升级penssl - 解决安装python3之后SSL不可用问题
问题描述
WARNING: pip is configured with locations that require TLS/SSL, however the ssl module in Python is not available.
警告:pip配置了需要TLS/SSL的位置,但是Python中的SSL模块不可用。
解决办法
安装openssl11,后期的pip3安装网络相关模块需要用到ssl模块。
yum remove openssl openssl-libs openssl-devel
yum install openssl-libs openssl-devel openssl11-libs openssl11 openssl11-devel -y
三、安装python
安装依赖
yum -y install \
gcc make zlib* zlib-devel libffi libffi-devel readline-devel \
bzip2-devel ncurses-devel sqlite-devel tk-devel gdbm-devel \
db4-devel libpcap-devel xz-devel wget
下载python3
wget https://registry.npmmirror.com/-/binary/python/3.11.5/Python-3.11.5.tgz
tar -zxvf Python-3.11.5.tgz
cd Python-3.11.5
# 配置
mkdir /usr/local/Python3
./configure --prefix=/usr/local/python3 --with-ssl
#编译安装
make && make install
检查安装是否成功
python3 -V
pip3 -V
# 升级pip
python3 -m pip install --upgrade pip
# 测试ssl
pip intall mysql-connector-python
添加软链接
sudo ln -s /usr/local/python3/bin/python3.11 /usr/bin/python3
sudo ln -s /usr/local/python3/bin/pip3.11 /usr/bin/pip3
四、用python3 代替python2
-
- 添加软链
sudo ln -s /usr/local/python3/bin/python3.11 /usr/bin/python
sudo ln -s /usr/local/python3/bin/pip3.11 /usr/bin/pip
-
- 修改yum的问题
vim /usr/bin/yum
vim /usr/libexec/urlgrabber-ext-down
# 分别将上述两文件第一行对应的
#!/usr/bin/env/python 改为 #!/usr/bin/env/python2
-
- 查看版本
python -v
附 - 手工升级openssl
# 1)前置条件
yum install -y perl-CPAN
perl -MCPAN -e shell #进入CPAN的shell模式,首次进入需要配置shell,按照提示操作即可(都选默认)
> cpan[1]> install IPC/Cmd.pm #进入CPAN的shell模式 .../usr/bin/make install -- OK
(退出)
# 2) 官网下载openssl版本
wget https://www.openssl.org/source/openssl-3.1.3.tar.gz
tar zxvf openssl-3.1.3.tar.gz
cd openssl-3.1.3
./config --prefix=/usr/local/openssl
make && make install
# 3)配置让openssl生效
---------------------
# 3.1) 备份原配置
mv /usr/bin/openssl /usr/bin/openssl.bak
mv /usr/include/openssl/ /usr/include/openssl.bak
# 3.2)新版配置
ln -s /usr/local/openssl/include/openssl /usr/include/openssl
ln -sf /usr/local/openssl/lib64/libssl.so.3 /usr/lib/libssl.so.3
ln -sf /usr/local/openssl/lib64/libcrypto.so.3 /usr/lib64/libssl.so.3
ln -s /usr/local/openssl/bin/openssl /usr/bin/openssl
# 3.3)修改系统配置,写入openssl库文件的搜索路径
echo "/usr/local/openssl/lib" >> /etc/ld.so.conf
# 使修改后的/etc/ld.so.conf生效
ldconfig -v
# 3.4) 测试
openssl version