Centos-安装python3.7以上版本

Centos-安装python3.7以上版本

Centos7用yum安装的Python3版本比较旧,想要安装最新版本的Python3需要自己动手编译安装。下面就来讲讲安装步骤,主要分为这么几个步骤,依赖→下载→编译→配置。另外所有操作都是在root用户下进行。

依赖

编译Python源码需要依赖许多库,在编译过程中出现的一些常见问题大部分是没有安装相关依赖库。这里举几个例子。

比如说下面的警告信息,就是没有安装相关的依赖库。

The necessary bits to build these optional modules were not found:
_curses               _curses_panel         _dbm               
_gdbm                 _lzma                 _sqlite3           
_tkinter              _uuid                 readline           
To find the necessary bits, look in setup.py in detect_modules() for the module's name.

再比如说下面这个,是因为OpenSSL的版本太旧,需要安装openssl11 ,并且在编译的时候设置编译FLAG,后续会介绍到。

Failed to build these modules:
_hashlib              _ssl                                     

Could not build the ssl module!
Python requires a OpenSSL 1.1.1 or newer

因为官网源下载比较慢,所以这里备份并替换为阿里云源,这样做不是必须的,视你的情况而定。

备份原有源

tar -zcvf CentOS-bk.tar.gz /etc/yum.repos.d/CentOS-*

替换Yum源为清华源

sudo sed -e 's|^mirrorlist=|#mirrorlist=|g' \
         -e 's|^#baseurl=http://mirror.centos.org/centos|baseurl=https://mirrors.tuna.tsinghua.edu.cn/centos|g' \
         -i.bak \
         /etc/yum.repos.d/CentOS-*.repo

然后安装依赖

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

下载Python

安装完依赖之后就可以去官网下载最新版本的源码了。官网地址:https://www.python.org/
打开官网之后选择Download→ Source code,选择最新Stable Releases版本的Gzipped source tarball下载即可。

也可获取下载地址,用wget下载
wget https://www.python.org/ftp/python/3.10.12/Python-3.10.12.tar.xz

编译

编译主要需要注意的问题是设置编译FLAG,以便使用最新的openssl库。

export CFLAGS=$(pkg-config --cflags openssl11)
export LDFLAGS=$(pkg-config --libs openssl11)

结果如下

设置好了之后,解压并进入源码目录

tar xvf Python-3.10.12.tar.xz
cd Python-3.10.12

然后直接编译安装即可,需要花一点时间。

./configure --enable-optimizations && make altinstall

配置
配置快捷命令
通过设置软链接简化命令输入

ln -sf /usr/local/bin/python3.10 /usr/bin/python3
ln -sf /usr/local/bin/pip3.10  /usr/bin/pip3

验证一下设置是否正确

[root@localhost Python-3.10.3]python3 --version
Python 3.10.3
[root@localhost Python-3.10.3]pip3 --version
pip 22.0.4 from /usr/local/lib/python3.10/site-packages/pip (python 3.10)

配置pip源

由于网络原因,官方的pip源无法访问或速度慢,可以更换为国内源,推荐清华源
先升级下pip版本

pip3 install --upgrade pip

使用命令一键设置使用清华源

pip3 config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
© 版权声明
THE END
喜欢就支持一下吧
点赞11 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容