前言

centos7 自带有 python,但是却是 python2 版本的 python,如果你想安装个python3怎么办呢?

如果直接删除python2的话,可能会引起其他的问题,因为有些东西是依赖python2的,最好的解决办法是python3和python2共存,新安装一个python3的环境。

python2

先找到系统的python安装在哪个目录,查看对应版本号和相关安装包

cd / 先回到根目录

whereis python 查看python所在目录/usr/bin

cd /usr/bin 切到python目录

ll python* 查看python开头的相关文件详情

[root@yoyo /]# cd /
[root@yoyo /]# whereis python
python: /usr/bin/python /usr/bin/python2.7 /usr/lib/python2.7 /usr/lib64/python2.7 /etc/python /usr/include/python2.7 /usr/share/man/man1/python.1.gz
[root@yoyo /]# cd /usr/bin
[root@yoyo bin]# ll python*
lrwxrwxrwx. 1 root root 7 Oct 15 2017 python -> python2
lrwxrwxrwx. 1 root root 9 Oct 15 2017 python2 -> python2.7
-rwxr-xr-x. 1 root root 7136 Aug 4 2017 python2.7
[root@yoyo bin]#

从查看的结果可以看到python指向的是python2 ,python2指向的是python2.7。那也就是在控制台输入python、python2、python2.7都是运行python2.7

如果我们安装一个python3.6的环境,让python3指向3.6, python2指向python2.7, 那就可以完美的共存了

yum安装依赖

先安装相关依赖

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 mysql-devel

安装python3

从python安装包的历史版本中https://www.python.org/ftp/python/,找到需要的安装包,比如我这里选3.6.8版本

从众多的包里面找到Python-3.6.8.tgz包,那么下载地址拼接下就是:https://www.python.org/ftp/python/3.6.8/Python-3.6.8.tgz

在Centos 7系统里面新建一个目录,用于存放下载的python3安装包,比如: /root/python36

[root@yoyo ~]# mkdir /root/python36

cd到 root/pyrhon36目录,用wget下载3.6.8安装包

[root@yoyo python36]# wget https://www.python.org/ftp/python/3.6.8/Python-3.6.8.tgz

[root@yoyo~]# cd /root/pyrhon36
[root@yoyo python3]# wget https://www.python.org/ftp/python/3.6.8/Python-3.6.8.tgz
--2018-12-29 13:37:12-- https://www.python.org/ftp/python/3.6.8/Python-3.6.8.tgz
Resolving www.python.org (www.python.org)... 151.101.108.223, 2a04:4e42:1a::223
Connecting to www.python.org (www.python.org)|151.101.108.223|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 23010188 (22M) [application/octet-stream]
Saving to: ‘Python-3.6.8.tgz’ 100%[===============================================================================>] 23,010,188 14.2MB/s in 1.5s 2018-12-29 13:37:14 (14.2 MB/s) - ‘Python-3.6.8.tgz’ saved [23010188/23010188] [root@yoyo python36]#

等待下载完成之后会在当前目录下出现一个tgz包,tar命令解压这个包到当前目录就可以

[root@yoyo python36]# tar -xvf Python-3.6.8.tgz
[root@yoyo python36]# ll
total 22476
drwxr-xr-x 17 501 501 4096 Dec 24 11:01 Python-3.6.8
-rw-r--r-- 1 root root 23010188 Dec 24 11:01 Python-3.6.8.tgz

解压完之后需要编译Python-3.6.8包下的文件,先cd过去执行完这句命令之后,把python的安装目录指定一下,这样的话,里面的一些bin目录、lib目录就都会存放在这个目录下面。

如果不指定这个安装目录的话,最后python的安装文件将分散到linux的默认目录,不在一块。我们指定安装目录,以后卸载的话直接删除目录就可以干净卸载了。

[root@yoyo python36]# cd Python-3.6.8
[root@yoyo Python-3.6.8]# ./configure --prefix=/root/python36

在当前目录root/pyrhon36/Python-3.6.8执行make,执行完之后,接着输入make install

[root@yoyo Python-3.6.8]# make

[root@yoyo Python-3.6.8]# make install

耐心等待,喝杯咖啡就安装完成就行了,时间会有点长。

添加软链接

由于系统默认的python是指向python2,这里执行把新安装的python3.6指向给/usr/bin/python3就可以了

[root@yoyo bin]# ln -s  /root/python36/bin/python3.6 /usr/bin/python3
[root@yoyo bin]# python3 -V
Python 3.6.8
[root@yoyo bin]# python3
Python 3.6.8 (default, Dec 29 2018, 13:48:00)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-16)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> exit()
[root@yoyo bin]#

输入python3 -V可以看到版本号,这样系统默认的就是python3.6.8版本了,如果想用python2.7版本,直接输入python2就可以了

[root@yoyo bin]# python2
Python 2.7.5 (default, Aug 4 2017, 00:39:18)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-16)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> exit()

pip环境

python3安装完成之后,如果想用pip安装一些第三方包,系统会默认安装到python2的环境里面。

添加pip3的软链接,这样输入pip3 install 就能把安装包安装到python3的环境了。

[root@yoyo bin]# ln -s /root/python36/bin/pip3  /usr/bin/pip3
[root@yoyo bin]# pip3 -V
pip 19.2.3 from /usr/local/python3/lib/python3.6/site-packages/pip (python 3.6)
[root@yoyo bin]# pip2 -V
pip 18.1 from /usr/lib/python2.7/site-packages/pip (python 2.7)
[root@yoyo bin]# ll pip*
lrwxrwxrwx 1 root root 27 Jan 2 16:47 pip3 -> /usr/local/python3/bin/pip3
-rwxr-xr-x 1 root root 216 Jan 2 11:05 pip2
-rwxr-xr-x 1 root root 216 Jan 2 11:05 pip2.7
-rwxr-xr-x 1 root root 232 Jan 2 16:53 pip.bak

如果要安装python3的第三方包,那就输入pip3 install xx包名

[root@yoyo bin]# pip3 install requests
Looking in indexes: http://mirrors.aliyun.com/pypi/simple/
Collecting requests
Downloading http://mirrors.aliyun.com/pypi/packages/7d/e3/20f3d364d6c8e5d2353c72a67778eb189176f08e873c9900e10c0287b84b/requests-2.21.0-py2.py3-none-any.whl (57kB)
100% |████████████████████████████████| 61kB 2.2MB/s
Requirement already satisfied: idna<2.9,>=2.5 in /usr/local/python3/lib/python3.6/site-packages (from requests) (2.8)
Requirement already satisfied: certifi>=2017.4.17 in /usr/local/python3/lib/python3.6/site-packages (from requests) (2018.11.29)
Requirement already satisfied: chardet<3.1.0,>=3.0.2 in /usr/local/python3/lib/python3.6/site-packages (from requests) (3.0.4)
Requirement already satisfied: urllib3<1.25,>=1.21.1 in /usr/local/python3/lib/python3.6/site-packages (from requests) (1.24.1)
Installing collected packages: requests
Successfully installed requests-2.21.0
[root@yoyo bin]# python
Python 3.6.8 (default, Jan 2 2019, 16:43:17)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-16)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import requests
>>> exit()
[root@yoyo bin]#

交流QQ群:779429633

Linux学习5-CentOS安装Python3.6环境和pip3的更多相关文章

  1. Linux学习之CentOS(一)--CentOS6.4环境搭建

    Linux学习之CentOS(一)--CentOS6.4环境搭建http://www.cnblogs.com/xiaoluo501395377/archive/2013/03/31/CentOs.ht ...

  2. Linux学习之CentOS(一)--CentOS6.5环境搭建

    一.前言 作为一个从事运维工作好几年的老运维来说,linux系统怎能不学呢?所以,这几天自己准备学习一下linux操作系统.废话不多说,直奔主题. 要学linux开发,首先得要安装linux系统吧,这 ...

  3. Linux基础:CentOS安装python3.7

    1.下载python3 wget https://www.python.org/ftp/python/3.7.0/Python-3.7.0.tgz 2.解压 [root@mycentos ~]# ta ...

  4. [亲测!超级简单] Centos 安装Python3.6环境

    配置好Python3.6和pip3安装EPEL和IUS软件源 yum install epel-release -y yum install https://centos7.iuscommunity. ...

  5. Linux学习(一)------CentOs安装mysql5.5 数据库

    具体方法和步骤如下所示: 1.第一步就是看linu是否安装了mysql,经过rpm -qa|grep mysql查看到centos下安装了mysql5.1,那就开始卸载咯 2.接下来就是卸载mysql ...

  6. [转] Linux学习之CentOS(十三)--CentOS6.4下Mysql数据库的安装与配置

    from:  http://www.cnblogs.com/xiaoluo501395377/archive/2013/04/07/3003278.html 如果要在Linux上做j2ee开发,首先得 ...

  7. Linux学习之CentOS(十三)--CentOS6.4下Mysql数据库的安装与配置

    原文:http://www.cnblogs.com/xiaoluo501395377/archive/2013/04/07/3003278.html 如果要在Linux上做j2ee开发,首先得搭建好j ...

  8. linux学习之centos(三):mysql数据库的安装和配置

    前言:mysql简介 说到数据库,我们大多想到的是关系型数据库,比如mysql.oracle.sqlserver等等,这些数据库软件在windows上安装都非常的方便,在Linux上如果要安装数据库, ...

  9. Linux学习之CentOS(十三)--CentOS6.4下Mysql数据库的安装与配置(转)

    原文地址:http://www.cnblogs.com/xiaoluo501395377/archive/2013/04/07/3003278.html 如果要在Linux上做j2ee开发,首先得搭建 ...

随机推荐

  1. Android 隐藏系统状态栏

    通常的做法是这样的: private static boolean isStatusbarVisible(Activity activity) { int uiOptions = activity.g ...

  2. VBA二次学习笔记(3)——批量合并单元格

    说明(2018-9-16 22:17:49): 1. 昨天运动会,100米八个人跑了第五,400米五个人跑了第三,得了个榨汁机.终于结束了哈哈哈!之前一个星期紧张的天天拉肚子,真是没出息..不过养成了 ...

  3. [转]Go语言中的make和new

    前言 本文主要给大家介绍了Go语言中函数new与make的使用和区别,关于Go语言中new和make是内建的两个函数,主要用来创建分配类型内存.在我们定义生成变量的时候,可能会觉得有点迷惑,其实他们的 ...

  4. 启动matlab时总是直接跳转到安装界面的解决方案

    [关于2017双11过后MATLAB许可过期问题的解决方案] 在距离双11还有2个月之前,matlab会提示:Your MATLAB license will expire in 50 days -- ...

  5. 为什么不应该使用Zookeeper做服务发现?(转载)

    转载自: http://dockone.io/article/78 [编者的话]本文作者通过ZooKeeper与Eureka作为Service发现服务(注:WebServices体系中的UDDI就是个 ...

  6. 安装 VMWare ESXi 6.7:VMB: 548: Unsupported CPU:6.7版本的ESXi 不支持 某些cpu了

    如题,谨记! 升级是双面刃! 用6.5--版本,即可.

  7. go关键字之struct定义声明方式

    type Student struct{ name string age int } var stu Student stu.name,stu.age = "张三”,10 stu2 := S ...

  8. SVN常用命令说明

    本文转载至  http://www.blogjava.net/jasmine214--love/archive/2011/01/12/342839.html :1.5 及更新版本 名词说明: WC:W ...

  9. 这样使用 GPU 渲染 CSS 动画(转)

    大多数人知道现代网络浏览器使用GPU来渲染部分网页,特别是具有动画的部分. 例如,使用transform属性的CSS动画看起来比使用left和top属性的动画更平滑. 但是如果你问,“我如何从GPU获 ...

  10. Oracle同义词(synonym)

    oracle的同义词总结   从字面上理解就是别名的意思,和视图的功能类似.就是一种映射关系.   同义词拥有如下好处:   节省大量的数据库空间,对不同用户的操作同一张表没有多少差别;   扩展的数 ...