问题描述:

最近有个需求是想在centos下安装python3.5

因为django这边用到是这个版本

1.查看系统版本和python版本

Centos7.6版本默认安装的是python2.7.5版本

利用cat查看系统版本,python -V查看python版本

which查看python目录,或者whereis也行

[root@localhost data]# cat /etc/centos-release
CentOS Linux release 7.6. (Core)
[root@localhost data]# python -V
Python 2.7.
[root@localhost data]# which python
/usr/bin/python
[root@localhost data]# whereis python
python: /usr/bin/python /usr/bin/python2. /usr/lib/python2. /usr/lib64/python2. /etc/python /usr/include/python2. /usr/share/man/man1/python..gz

cd进入到python目录里面ll命令查看一下,看到指向的是python2.7版本

[root@localhost bin]# ll python*
lrwxrwxrwx root root Dec : python -> python2
lrwxrwxrwx root root Dec : python2 -> python2.
-rwxr-xr-x root root Oct : python2.

因为我们需要用到python3版本,所以python要指向python3才行
现在准备安装一下python3,先做一下备份,备份之前已安装相关包

[root@localhost bin]# mv python python.bak

2.开始安装python3

这边利用yum来安装依赖,这边mv备份了python2,所以需要在mv之前就执行安装依赖包

因为一些命令例如yum,它使用到python2

先安装一下依赖包

[root@localhost bin]# yum install -y zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc make

去官网下载安装包或者直接指向下面命令,我这里指定了3.5的版本

官网下载地址:https://www.python.org/downloads/source/

[root@localhost data]# wget https://www.python.org/ftp/python/3.5.6/Python-3.5.6.tgz

解压安装包

[root@localhost data]# ls
Python-3.5..tgz
[root@localhost data]# tar -zxvf Python-3.5..tgz && cd Python-3.5.
[root@localhost Python-3.5.]#

编译安装

[root@localhost Python-3.5.]# ./configure prefix=/usr/local/python3
[root@localhost Python-3.5.]# make && make install

安装完成以后,可以到/usr/local/目录下面查看有没有python3
然后添加软链接到执行目录下/usr/bin/

[root@localhost Python-3.5.]# ln -s /usr/local/python3/bin/python3 /usr/bin/python

可以看到软链接创建成果,测试安装是否成功
执行python -V 查看python3的版本
执行python2 -V 查看python2的版本

[root@localhost bin]# python -V
Python 3.5.
[root@localhost bin]# python2 -V
Python 2.7.

因为执行yum命令需要用到python2版本,所以这边要修改一下yum的配置

[root@localhost bin]# vim /usr/bin/yum

把#!/usr/bin/python修改成#!/usr/bin/python2

再把urlgrabber-ext-down里面的#!/usr/bin/python修改成#!/usr/bin/python2

[root@localhost bin]# vim /usr/libexec/urlgrabber-ext-down

最后再配置一下pip包管理工具,使用软链接

[root@localhost bin]# ln -s /usr/local/python3/bin/pip3  /usr/bin/pip

这样python3版本安装完成与python2版本共存了!

Linux-Centos7系统下安装python2并与python3版本共存的更多相关文章

  1. Linux centos7环境下安装JDK的步骤详解

    Linux centos7环境下安装JDK的步骤详解 测试root用户下JAVA版本 输入命令:   java –version 1.先到Oracle官网里下载好jdk,网址如下: http://ww ...

  2. linux centos7环境下安装apache2.4+php5.6+mysql5.6 安装及踩坑集锦

    linux centos7环境下安装apache2.4+php5.6+mysql5.6 安装及踩坑集锦(一) 一.Linux下安装MySQL 1.下载 下载地址:http://dev.mysql.co ...

  3. linux centos7环境下安装apache2.4+php5.6+mysql5.6 安装及踩坑集锦(二)

    linux centos7环境下安装apache2.4+php5.6+mysql5.6 安装及踩坑集锦(二) 安装apache web容器 . yum方式安装apache 注意apache在linux ...

  4. Linux(CentOS)系统下安装好apache(httpd)服务后,其他电脑无法访问的原因

    原文:Linux(CentOS)系统下安装好apache(httpd)服务后,其他电脑无法访问的原因 今天试了下在虚拟机上利用CentOS系统的yum命令安装好了httpd(apache2.4.6), ...

  5. Linux centos7环境下安装MySQL的步骤详解

    Linux centos7环境下安装MySQL的步骤详解 安装MySQL mysql 有两个跟windows不同的地方 1).my.ini 保存到/etc/my.ini 2).用户权限,单独用户执行 ...

  6. Linux centos7环境下安装Nginx

    Linux centos7环境下安装Nginx的步骤详解 1.    首先到Nginx官网下载Nginx安装包 http://nginx.org/download/nginx-1.5.9.tar.gz ...

  7. linux centos7环境下安装apache2.4+php5.6+mysql5.6 安装及踩坑集锦(三)

    linux centos7环境下安装apache2.4+php5.6+mysql5.6 安装及踩坑集锦(三) 安装PHP 1.yum方式安装PHP方法同安装apache一样传送门:linux cent ...

  8. Windows10系统下安装python2和python3双版本

    Windows10系统下安装Python3的步骤已经演示过(详见:https://www.cnblogs.com/schut/p/8399195.html),此处不再赘述Python的下载,主要介绍在 ...

  9. win10系统同时安装python2.7和python3.6

    我是先在本机上安装的python3.6.5,因为要学习一个框架,但是这个框架只支持python2,所以我又安装了python2.7.15,并且配置到系统环境变量 环境变量配置了python3.6.5的 ...

随机推荐

  1. eclipse如何将项目上传到码云

    把Eclipse项目上传到码云的步骤: 一.将代码提交到本地 1.登录码云:新建项目 2.输入项目名: 3.空项目创建成功如下图: 4.右键点击Eclipse的项目,选择“Team”——>“Sh ...

  2. 【转载】Asp.Net中使用基于jQuery的javascript前台模版引擎JTemplate

    JTemplate是基于jQuery的开源的前端模版引擎,在Jtemplate模板中可以使用if判断.foreach循环.for循环等操作,使用Jtemplate模板优点在于ajax局部刷新界面时候不 ...

  3. WPF 绕圈进度条(二)

    一 以前的方案 以前写过一个圆点绕圈的进度条,根据参数圆点个数和参数每次旋转角度,主要是在cs文件中动态添加圆点,通过后台定时器,动态设置角度后用正弦余弦计算(x,y)的位置. 此方案优点:动态添加L ...

  4. Redis中的执行命令的过程

    在redis.c的initServerConfig()方法中,通过调用dictCreate方法初始化server端的命令表.这个命令表是一个hashtable,可以通过key找到相关的命令: /* C ...

  5. 搭建基于nginx-rtmp-module的流媒体服务器

    1.业务流程图 2.软件下载 2.1 windows下载obs 2.2 linux 安装nginx(附加rtmp模块) 1.cd /usr/local 2.mkdir nginx 3.cd nginx ...

  6. 设计模式—装饰模式的C++实现

    这是Bwar在2009年写的设计模式C++实现,代码均可编译可运行,一直存在自己的电脑里,曾经在团队技术分享中分享过,现搬到线上来. 1. 装饰模式简述 1.1 目的 动态地给一个对象添加一些额外的职 ...

  7. 汇编语言--微机CPU的指令系统(五)(转移指令)

    (9)转移指令 转移指令是汇编语言程序员经常使用的一组指令.在高级语言中,时常有“尽量不要使用转移语句”的劝告,但如果在汇编语言的程序中也尽量不用转移语句,那么该程序要么无法编写,要么没有多少功能,所 ...

  8. idea使用svn出现问题解决办法

    idea一直在refreshing vcs history:解决办法:      有些模块中的版本信息是错的,如拷贝过来的代码,其远程仓库是不存在的,      因此要删除这些模块中的.svn文件夹 ...

  9. CentOS 7.0 下 Python 2.7 升级到 Python 3.5

    前段因为时间工作需要,要把 Centos 7.0 默认安装的 Python 2.7 升级到 Python 3.5. 具体操作如下: # 安装 gcc gcc-c++ 等编译工具软件 yum insta ...

  10. js 格式化数字(每三位加逗号)

    // 方法一 unction toThousands(num) { var result = [ ], counter = 0; num = (num || 0).toString().split(' ...