linux centos安装Python3.10以及配置pip

安装依赖
这里openssl 部分是强相关的,如果不安装,后续 import ssl 会报错提示找不到 module. 代码中涉及到 https 的部分都无法运行。
yum -y groupinstall "Development tools"
yum install -y ncurses-devel gdbm-devel xz-devel sqlite-devel tk-devel uuid-devel readline-devel bzip2-devel libffi-devel
yum install -y openssl-devel openssl11 openssl11-devel

openssl 环境变量
export CFLAGS=$(pkg-config --cflags openssl11)
export LDFLAGS=$(pkg-config --libs openssl11)

下载python3.10源码包 ,或者使用百度云盘下载:链接:
wget https://www.python.org/ftp/python/3.10.6/Python-3.10.6.tgz
tar xvf Python-3.10.6.tar.xz 
mv Python-3.10.6 /usr/local/python3.10
cd /usr/local/python3.10/

修改配置文件,vi Module/Setup,取消以下部分的注释,让Python 在编译时就把 ssl 带上
第147行
_socket socketmodule.c
第215行 和 216行
_ssl _ssl.c $(OPENSSL_INCLUDES) $(OPENSSL_LDFLAGS) $(OPENSSL_LIBS)
_hashlib _hashopenssl.c $(OPENSSL_INCLUDES) $(OPENSSL_LDFLAGS) -lcrypto

 安装 && 编译
./configure --prefix=/usr/local/sbin/python3.10
make && make install

初步验证
[root@serverAliYun python3.10]# /usr/local/sbin/python3.10/bin/python3 -V
Python 3.10.6
[root@serverAliYun python3.10]# /usr/local/sbin/python3.10/bin/python3
Python 3.10.6 (main, Jan 23 2023, 11:22:16) [GCC 4.8.5 20150623 (Red Hat 4.8.5-44)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import ssl
>>> quit(

移除旧软连接,创建新软连接
此时python 还是对应默认的 Python2.7,我们需要把他切换为 Python3 (还有个 Python-config 没有动,暂时保留)

# 查找
ll /usr/bin/ |grep python
ll /usr/bin/ |grep pip
 
# 删除
rm -rf /usr/bin/python
rm -rf /usr/bin/pip
 
# 重建
ln -sv /usr/local/sbin/python3.10/bin/python3 /usr/bin/python
ln -s /usr/local/sbin/python3.10/bin/pip3 /usr/bin/pip

确认效果
[root@serverAliYun ~]# python -V
Python 3.10.6
[root@serverAliYun ~]# pip --version
pip 22.3.1 from /usr/local/sbin/python3.10/lib/python3.10/site-packages/pip (python 3.10)


将/usr/bin/yum的顶部的:
 
!/usr/bin/python  改成  !/usr/bin/python2.7 
 
 
将/usr/libexec/urlgrabber-ext-down的顶部的:
 
/usr/bin/python  改为   /usr/bin/python2.7
 
 
将/usr/bin/yum-config-manager的顶部的
 
#!/usr/bin/python 改为 #!/usr/bin/python2.7 


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值