原文地址:https://blog.csdn.net/fanxl10/article/details/106854062
思考:/usr/bin下的python不删除、新建python3和pip3的软链接,这样应该更方便
1 安装编译相关工具
yum -y groupinstall "Development tools"
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
yum install libffi-devel -y
2 下载python安装包
wget https://www.python.org/ftp/python/3.8.3/Python-3.8.3.tgz
tar -zxvf Python-3.8.3.tgz
3 编译安装python
mkdir /usr/local/python3 #创建编译安装目录
cd Python-3.8.3
./configure --prefix=/usr/local/python3
make && make install
安装过,出现下面两行就成功了
Installing collected packages: setuptools, pip
Successfully installed pip-19.2.3 setuptools-41.2.0
4 创建软连接
# 查看当前python软连接
ll /usr/bin/ |grep python
lrwxrwxrwx 1 root root 7 Nov 26 2018 python -> python2
lrwxrwxrwx 1 root root 9 Nov 26 2018 python2 -> python2.7
-rwxr-xr-x 1 root root 7216 Jul 13 2018 python2.7
默认系统安装的是python2.7
删除python软连接
rm -rf /usr/bin/python
配置软连接为python3
#添加python3的软链接
ln -s /usr/local/python3/bin/python3 /usr/bin/python
这个时候看下python默认版本
python -V
删除默认pip软连接,并添加pip3新的软连接
rm -rf /usr/bin/pip
#添加 pip3 的软链接
ln -s /usr/local/python3/bin/pip3 /usr/bin/pip
5 更改yum配置
因为其要用到python2才能执行,否则会导致yum不能正常使用(不管安装 python3的那个版本,都必须要做的)
vi /usr/bin/yum
把 #! /usr/bin/python 修改为 #! /usr/bin/python2
vi /usr/libexec/urlgrabber-ext-down
把 #! /usr/bin/python 修改为 #! /usr/bin/python2
vi /usr/bin/yum-config-manager
把#!/usr/bin/python 改为 #!/usr/bin/python2
- 在后续的实际操作中发现,防火墙的两个文件中也用到了python2,如上修改脚本后,防火墙才正常运行
- 思考:/usr/bin下的python不删除、新建python3和pip3的软链接,这样应该更方便
6 修改pip源
mkdir ~/.pip
cd ~/.pip
touch pip.conf
#编辑pip.conf文件
sudo gedit ~/.pip/pip.conf
配置文件中加入
[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple
[install]
trusted-host=pypi.tuna.tsinghua.edu.cn
7 碰到的问题
7.1 CentOS 7出现ImportError: No module named Tkinter
安装python工具tkinter库:
sudo yum install python-tools
未能解决,继续
# 安装tk的开发类库
yum install tk-devel
未能解决,发现重新编译python3.8后,python又变成了python2
[root@localhost postloan_mock]# ll /usr/bin/ |grep python
lrwxrwxrwx 1 root root 27 Nov 25 07:00 pip -> /usr/local/python3/bin/pip3
lrwxrwxrwx 1 root root 7 Nov 30 01:35 python -> python2
删除后重新加软链接,继续
yum install python3-tkinter
未能解决,最后重新进行步骤1, 重装python后解决。