centos(以3.9.6举例)

安装编译环境

1
yum install zlib-devel bzip2 bzip2-devel openssl-devel readline-devel sqlite sqlite-devel xz xz-devel ncurses-devel tk-devel gcc libffi-devel gcc-c++ -y

出现报错Fix rpmdb: Thread died in Berkeley DB library

因为强制断开yum 安装的原因。
导致rpm yum 安装都无法使用

解决办法:

按照如下步骤执行即可重建

1
2
3
4
5
6
mkdir /var/lib/rpm/backup
cp -a /var/lib/rpm/__db* /var/lib/rpm/backup/
rm -f /var/lib/rpm/__db.[0-9][0-9]*
rpm --quiet -qa
rpm --rebuilddb
yum clean all

下载Python最新安装包文件, 最新安装包下载地址,Python latest version

1
wget -P /home/software https://www.python.org/ftp/python/3.9.6/Python-3.9.6.tar.xz

进入下载文件目录,并解压安装包文件

1
2
cd /home/software
tar xf Python-3.9.6.tar.xz

创建安装目录

1
mkdir /usr/local/python3.9.6

编译并安装

1
2
cd /home/software/Python-3.9.6
./configure --prefix=/usr/local/python3.9.6 && make && make install

修改旧版链接文件

1
2
mv /usr/bin/python /usr/bin/python2
mv /usr/bin/pip /usr/bin/pip2

设置新版Python链接,建立软连接指向默认的python的Bin目录

1
2
3
ln -s /usr/local/python3.9.6/bin/python3 /usr/bin/python
ln -s /usr/local/python3.9.6/bin/pip3 /usr/bin/pip3
ln -s /usr/local/python3.9.6/bin/pip3 /usr/bin/pip

修改yum命令的配置文件(yum命令默认为Python2来执行),这里需要修改两个配置文件/usr/bin/yum 和 /usr/libexec/urlgrabber-ext-down

修改文件第一行内容,如下所示:

1
#!/usr/bin/python  修改为 #!/usr/bin/python2

查看现在的版本,执行如下命令,若显示最新的程序版本号,说明安装成功了,恭喜你!!

1
python -V

pip

Python 2.7.9 + 或 Python 3.4+ 以上版本都自带 pip 工具。

如果你还未安装,则可以使用以下方法来安装:

1
2
$ curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py   # 下载安装脚本
$ python get-pip.py # 运行安装脚本

注意:用哪个版本的 Python 运行安装脚本,pip 就被关联到哪个版本,如果是 Python3 则执行以下命令:

1
$ sudo python3 get-pip.py    # 运行安装脚本。

一般情况 pip 对应的是 Python 2.7,pip3 对应的是 Python 3.x。