本教程是在centos下用yum在线安装python3.7(也可以选择其他版本),步骤很详细,我自己走过,没有错误,按着这个流程来,基本上不会出错,如果遇到什么问题,可以私信问我哦
centos7 自带有 python,版本是python2.7
1.首先,你要知道系统现在的python的位置在哪儿
[root@localhost ~]# whereis python
python: /usr/bin/python2.7 /usr/bin/python /usr/lib/python2.7 /usr/lib64/python2.7 /etc/python /usr/include/python2.7 /usr/share/man/man1/python.1.gz
可以知道我们的python在 /usr/bin目录中
[root@localhost ~]# cd /usr/bin/
[root@localhost bin]# ll python*
lrwxrwxrwx. 1 root root 7 2月 7 09:30 python -> python2
lrwxrwxrwx. 1 root root 9 2月 7 09:30 python2 -> python2.7
-rwxr-xr-x. 1 root root 7136 8月 4 2017 python2.7
可以看到,python指向的是python2,python2指向的是python2.7,因此我们可以装个python3,然后将python指向python3,然后python2指向python2.7,那么两个版本的python就能共存了。
2.安装python3要先安装依赖包
[root@localhost bin]# yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc make
3.创建一个目录
为了让安装的包不混乱,一般选择的路径是/usr/local/:
[root@localhost bin]# mkdir /usr/local/python3
[root@localhost bin]# cd /usr/local/python3
[root@localhost python3]# ll
4.用wget下载python3的源码包
可以到https://www.python.org/ftp/python/里面选择自己需要的版本,把地址链接复制下来,然后用wget下载
把源码下载到这个目录下就OK,命令如下:
[root@localhost python3]# wget https://www.python.org/ftp/python/3.7.0/Python-3.7.0.tgz
5.等待下载完成之后解压到当前目录:
[root@localhost python3]# tar -xvf Python-3.7.0.tgz
[root@localhost python3]# cd Python-3.7.0
6.编译安装
第一句是指定python的安装目录,里面的一些bin目录、lib目录就都会存放在这里。如果不指定这个安装目录的话,安装文件会比较分散。
[root@localhost Python-3.7.0]# ./configure prefix=/usr/local/python3
[root@localhost Python-3.7.0]# make && make install
执行完make&&make install之后,可能会出现这种报错:ModuleNotFound:No module named '_ctypes'
这里需要执行:
[root@localhost Python-3.7.0]# yum install libffi-devel -y
执行完继续:
[root@localhost Python-3.7.0]# make && make install
7.更改软链接
为了使默认python变成python3,需要把之前的python命令改成python.bak,然后把现在的python3添加进去:
[root@localhost Python-3.7.0]# mv /usr/bin/python /usr/bin/python.bak
[root@localhost Python-3.7.0]# ln -s /usr/local/python3/bin/python3.7 /usr/bin/python
测试是否安装成功了:
[root@localhost Python-3.7.0]# python --version
正确显示版本就是成功安装
8.修改默认pip
默认pip也是需要修改的
[root@localhost Python-3.7.0]# mv /usr/bin/pip /usr/bin/pip.bak
[root@localhost Python-3.7.0]# ln -s /usr/local/python3/bin/pip3 /usr/bin/pip
由于网络有时不稳定的原因,使用pip/pip3下载会出现网络不可达的问题,建议修改pip源,使用国内镜像服务
国内的一些镜像
阿里云 http://mirrors.aliyun.com/pypi/simple/
中国科技大学 https://pypi.mirrors.ustc.edu.cn/simple/
豆瓣(douban) http://pypi.douban.com/simple/
清华大学 https://pypi.tuna.tsinghua.edu.cn/simple/
中国科学技术大学 http://pypi.mirrors.ustc.edu.cn/simple/
修改源方法:
临时使用:
可以在使用pip的时候在后面加上-i参数,指定pip源,例如:
[root@localhost ~]# pip install numpy -i https://pypi.tuna.tsinghua.edu.cn/simple
永久修改:
这里是使用的阿里的,也可以使用其它镜像源
[root@localhost ~]#vim ~/.pip/pip.conf
[global]
index-url = http://mirrors.aliyun.com/pypi/simple/
[install]
trusted-host=mirrors.aliyun.com
9.更改yum配置
因为yum要用到python2才能执行,不更改会导致yum不能正常使用
[root@localhost Python-3.7.0]# vi /usr/bin/yum
把#! /usr/bin/python修改为#! /usr/bin/python2
[root@localhost Python-3.7.0]# vi /usr/libexec/urlgrabber-ext-down
把#! /usr/bin/python 修改为#! /usr/bin/python2
还可以参考一篇别人的纯傻瓜式教程