centos7安装python3,解决No module named ‘pymysql’


脚本要用pymysql,但是centos7自带的是python2.7.5

使用import pymysql报错‘No module named ‘pymysql‘’,遂决定升级python3

没安装python3的话pip命令是不能用的

输入命令查看版本

python

输入命令查看安装位置

which python

开始安装python3,首先安装相关依赖

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

根据需求下载相应版本,这里下载的是3.6.2版本,路径/usr/local/python3,可以使用mkdir命令建立文件夹:mkdir /usr/local/python3

wget https://www.python.org/ftp/python/3.6.2/Python-3.6.2.tar.xz

解压压缩包,进入目录,安装Python3

tar -xvJf  Python-3.6.2.tar.xz
cd Python-3.6.2
./configure --prefix=/usr/local/python3
make && make install

创建软链接

ln -s /usr/local/python3/bin/python3 /usr/bin/python3
ln -s /usr/local/python3/bin/pip3 /usr/bin/pip3

输入命令查看版本

python3

退出ctrl+D

 可以看到已安装3.6.2版本

注意,安装完成后需要修改yum文件,否则使用yum命令会报错

原因是yum是基于Python编写的,而Python3和Python2有部分语法不同

vi /usr/bin/yum

 将文件头部修改为 #! /usr/bin/python2.7

vi /usr/libexec/urlgrabber-ext-down

 一样修改指向2.7

#! /usr/bin/python2.7

完成

参考文章:https://www.cnblogs.com/FZfangzheng/p/7588944.html