【转载】Centos7安装Python3.8详细教程

原文地址: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后解决。

原文地址:https://www.cnblogs.com/momolei/p/15604639.html