由于CentOS7自带的python版本是2.7.5,需要升级python3。
Linux:从python官网下载最新的python3版本
释放文件:
tar -xvzf Python-3.6.8.tgz
进入目录:
cd Python-3.6.8/
添加配置:(--with-ssl 解决PIP3提示缺少SSL模块)
./configure --prefix=/usr/python --with-ssl
这里配置自己的安装目录,接下来编译源码:
make
执行安装:
make install
建立超链接:
$ mv /usr/bin/python /usr/bin/python.bak
$ ln -s /usr/python/bin/python3 /usr/bin/python
PIP切换:
由于安装python2.7和python3.6多个版本共存,默认的pip为python2.7,如果想切换成python3.6下的pip,
/usr/bin/pip 第一行
#!/usr/bin/python2.7 改成 #!/usr/bin/env python
由于yum依赖python2,需要修改yum配置:
vim /usr/bin/yum
把文件头部的#!/usr/bin/python改成#!/usr/bin/python2.7保存退出即可
其他可能需要的依赖库:
zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel
gdbm-devel db4-devel libpcap-devel xz-devel
以下是我曾经踩过的坑:
- 无法安装tkinter模块, :( 需要修改Setup.dist)
yum -y install tkinter tcl-devel tk-devel
vim ......./Python3.5.2/Modules/Setup.dist 中去掉如下行的注释
_tkinter _tkinter.c tkappinit.c -DWITH_APPINIT \
-L/usr/local/lib \
-I/usr/local/include \
-ltk8.5 -ltcl8.5 \ #默认是8.2
-lX11
修改完保存,重新编译python源码,进行安装。
2.zipimport.ZipImportError: can't decompress data; zlib not available解决办法
安装包:yum -y install zlib*
如果yum提示找不到,可以手动下载安装
zlib-1.2.11.tar.gz
tar xvzf zlib-1.2.11.tar.gz
./configure
3. 报错ModuleNotFoundError: No module named '_ctypes'的解决办法
#yum install libffi-devel -y #make install
或者手动下载https://centos.pkgs.org/7/centos-x86_64/libffi-devel-3.0.13-18.el7.x86_64.rpm.html
#rpm -ivh libffi-devel-3.0.13-18.el7.x86_64.rpm