python3安装 - for linux

217 阅读2分钟

一、检查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

    1. 添加软链
sudo ln -s /usr/local/python3/bin/python3.11 /usr/bin/python
sudo ln -s /usr/local/python3/bin/pip3.11 /usr/bin/pip
    1. 修改yum的问题
vim /usr/bin/yum 
vim /usr/libexec/urlgrabber-ext-down

# 分别将上述两文件第一行对应的 
#!/usr/bin/env/python 改为 #!/usr/bin/env/python2
    1. 查看版本
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