问题描述:

最近有个需求是想在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. Tomcat8源码笔记(六)连接器Connector分析

    根据 Tomcat8源码笔记(五)组件Container分析 前文分析,StandardService的初始化重心由 StandardEngine转移到了Connector的初始化,本篇记录下Conn ...

  2. retry重试常见场景及实现

    当我们的代码是有访问网络相关的操作时,比如http请求或者访问远程数据库,经常可能会发生一些错误,有些错误可能重新去发送请求就会成功,本文分析常见可能需要重试的场景,并最后给出python代码实现. ...

  3. HttpClient+Jsoup模拟登陆贺州学院教务系统,获取学生个人信息

    前言 注:可能学校的教务系统已经做了升级,当前的程序不知道还能不能成功获取信息,加上已经毕业,我的账户已经被注销,试不了,在这里做下思路跟过程的记录. 在我的毕业设计中”基于SSM框架贺州学院校园二手 ...

  4. Vue父组件传递异步获取的数据给子组件

    问题场景: 当父组件传给子组件的数据是在父组件中异步获取的时候,如何让子组件获取期望的值? 在父组件中: 首先在data()中定义data_detail为空: data(){ data_detail: ...

  5. C# 显式转换关键字 explicit

    不同于隐式转换,显式转换运算符必须通过转换的方式来调用. 如果转换操作会导致异常或丢失信息,则应将其标记为 explicit. 这可阻止编译器静默调用可能产生意外后果的转换操作. 省略转换将导致编译时 ...

  6. 第一册:lesson seventy seven。

    原文:terrible toothache. Good morning Mr.Croft. Good morning nurse. I want to see the dentist,please. ...

  7. python面向对象学习(四)继承

    目录 1. 单继承 1.1 继承的概念.语法和特点 1.2 方法的重写 1.3 父类的 私有属性 和 私有方法 2. 多继承 2.1 多继承的使用注意事项 2.2 新式类与旧式(经典)类 1. 单继承 ...

  8. Mysql中的外键分析(什么是外键,为什么要用外键,添加外键,主外键关联删除)

    有一个东西一直在我脑海中是个很烦的东西,但是这东西不搞清楚会阻碍自己的前进.自己做项目demo永远只能用一张表... 所以今天还是学习了下外键希望能够搞明白一些... 百度上搜索外键的作用" ...

  9. springboot最新版本自定义日志注解和AOP

    LogAspectAnnotation @ControllerLogAspectAnnotation /** * * Define a log facet annotation * @author s ...

  10. JS 操作svg画图

    背景: 一共有3个文件:svg文件,html文件,js文件. 有一个svg图,使用embed标签,引入到了html文件中 svg文件: <svg width="640" he ...