CentOS 7.9升级自带Python2.7.5到3.6.5

安装CentOS7.9后,发现自带的Python还是2.7.5,需要升级到3.6.5。

中间猜了几个坑,这里给大家共享一下。

  1. 从官网下载安装包 ,解压安装
# wget https://www.python.org/ftp/python/3.6.5/Python-3.6.5.tgz
# tar -zxvf Python-3.6.5.tgz
# cd Python-3.6.5
# ./configure
# make && ​​make install

    2.修改默认链接    

#python -V
Python 2.7.5
#还是2.7.5
#ll /usr/bin/python*
lrwxrwxrwx. 1 root root   22 12月 28 08:34 /usr/bin/python -> python2.7
lrwxrwxrwx. 1 root root    9 12月 16 19:42 /usr/bin/python2 -> python2.7
-rwxr-xr-x. 1 root root 7144 11月 17 2020 /usr/bin/python2.7
lrwxrwxrwx. 1 root root    7 12月 16 19:42 /usr/bin/python.bak -> python2
#备份原来的
# mv /usr/bin/python /usr/bin/python.bak
#链接3.6.5
#ln -s /usr/local/bin/python3 /usr/bin/python
# python -V
Python 3.6.5

 中间遇到3个问题:

1,执行configure的时候报错

configure: error: no acceptable C compiler found in $PATH
   原因:没有安装gcc,以为默认带的
   解决:安装gcc,yum install gcc-c++
              然后重新configure,成功   

2,执行make && make install的时候报错
zipimport.ZipImportError: can't decompress data; zlib not available
原因:没有安装zlib
解决:安装zlib, yum -y install zlib*
在python3.6.5/Modules文件夹下的Setup中,将zlib这行的注释打开
#zlib zlibmodule.c -I$(prefix)/include -L$(exec_prefix)/lib -lz
重新make && make install,安装成功

3,改了链接后,yum执行失败
原因:yum依赖于python2,需要改一下

#vim /usr/bin/yum
#vim /usr/libexec/urlgrabber-ext-down
##将这两个文件修改为2.7.5即可
#!/usr/bin/python --> #!/usr/bin/python2.7.5

4,安装好之后,发现pip3 install不能使用。
Caused by SSLError("Can't connect to HTTPS URL because the SSL module is not available.")
重新安装openssl openssl-devel后,yum install openssl*
重新执行configure make make install后,问题解决。

你可能感兴趣的:(Python,Linux,Shell,centos,linux,运维,python)