python3安装 for linux

2023年 9月 29日 54.1k 0

一、检查Python版本

# 当前默认的版本
python -v

# 列出所有的python的版本
ll /usr/bin/python*

二、升级penssl - 解决安装python3之后SSL不可用问题

python3安装在centos会存在如下问题:

问题描述

WARNING: pip is configured with locations that require TLS/SSL, however the ssl module in Python is not available.

警告:pip配置了需要TLS/SSL的位置,但是Python中的SSL模块不可用。

解决办法:

升级升级penssl

安装过程

  • 查看版本
openssl version
- 

笔者的liunx服务器自带的openssl版本为1.1.1a ,然而对于小编来说,要安装python3.10的版本来说,openssl的版本太低了,因此需要更新openssl的版本才能满足要求;

  • 安装依赖
yum install gcc libffi-devel zlib* openssl-devel -y
  • 解决openssl编译错误 Can‘t locate IPC/Cmd.pm in @INC
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
(退出)
  • 官网下载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
  • 配置让openssl生效
#备份原配置
mv /usr/bin/openssl /usr/bin/openssl.bak 
mv /usr/include/openssl/ /usr/include/openssl.bak

# 新版配置
ln -s /usr/local/openssl/include/openssl /usr/include/openssl
ln -s /usr/local/openssl/lib/libssl.so.1.1 /usr/local/lib64/libssl.so
ln -s /usr/local/openssl/bin/openssl /usr/bin/openssl

#修改系统配置,写入openssl库文件的搜索路径
echo "/usr/local/openssl/lib" >> /etc/ld.so.conf

#使修改后的/etc/ld.so.conf生效
ldconfig -v

# 测试
openssl version

# 如出现如 loading shared libraries: libssl.so.1.1: cannot open shared object 
# 添加如下软链, 重新ldconfig -v 让配置生效
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

三、安装python

  • 下载
  • 更新支持包
yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel libffi-devel gcc 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-openssl=/usr/local/openssl

#编译安装 
make && make install

检查安装是否成功

python3 -V
pip3 -V

升级pip

pip install --upgrade pip3

添加软链接

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

相关文章

服务器端口转发,带你了解服务器端口转发
服务器开放端口,服务器开放端口的步骤
产品推荐:7月受欢迎AI容器镜像来了,有Qwen系列大模型镜像
如何使用 WinGet 下载 Microsoft Store 应用
百度搜索:蓝易云 – 熟悉ubuntu apt-get命令详解
百度搜索:蓝易云 – 域名解析成功但ping不通解决方案

发布评论