前言

在centos7服务器上,linux系统默认安装有python2.7,这是系统服务等会依赖到的,所以系统的python2.7是不可以卸载的,避免系统出现问题。那么问题就来了,我们现在使用的python基本都是python3,用python3写的程序或者脚本,需要在服务器上运行就必须的安装python3,怎么办呢,下面就记录一下如何在centos7服务器上安装python3与python2.7共存,以达到互不影响。

 

正文

centos7安装python3有两种方式,各有利弊:

  1. yum安装,简单方便,但是版本受限
  2. 源码安装,较yum安装复杂一点,但是可以安装官方最新版

这里我两种方式都记录一下,方便大家根据需求,自己选择适合的方法进行


1. yum安装

# python3在默认的源中是没有的,需要安装epel源
$ yum install epel-release -y # 查看python3版本,根据查到python3的版本来安装,随着python版本更新,epel源中的版本也可能会出现更高版本的python
$ yum search python3 # 上面结果中,看到目前有python3.4,python3.6两个版本可以安装
# 现在安装python3.6
$ yum install python36 -y # 安装完成,直接执行python3,python36,python3.6都可以进入python3。
# 以下则证明python3安装完成
$ python3
Python 3.6.8 (default, Apr 25 2019, 21:02:35)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-36)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>

python3安装完成后,还需要安装pip工具来下载常用的功能包。pip工具也是分python2和python3的,可以共存,下载的包不能共享,即使用pip3下载的包只能在python3中使用,无法在python2.7中使用。安装python3的pip工具方法如下:

# 安装easy_install
$ yum install python36-pip -y # 另外,系统默认的python2.7是没有pip工具的,需要的话,同样安装pip工具
$ yum install python2-pip -y

ok,到此,yum安装python3已经完成了。

 

2. 源码安装

源码安装python3则可以安装最新版python,目前python最新版为3.7.3。下面我们就安装python3.7.3:

首先去python官网下载页面,下载最新的稳定版python3源码

# 安装依赖包
$ yum install -y openssl-devel bzip2-devel expat-devel gdbm-devel readline-devel sqlite-devel libffi-devel wget gcc make # 下载python3.7.3
$ wget https://www.python.org/ftp/python/3.7.3/Python-3.7.3.tgz # 解压,进入
$ tar -zxvf Python-3.7.3.tgz
$ cd Python-3.7.3.tgz # 指定安装路径(文件夹不存在会自动创建),编译安装
$ ./configure --prefix=/usr/local/python3.7
$ make && make install # 安装完成后,所有文件会在指定的/usr/local/python3.7目录中
# 添加环境变量,方便使用
$ vim /etc/profile
-------------------------------------------------------------
export PATH=$PATH:/usr/local/python3.7/bin
------------------------------------------------------------- # 重载环境变量生效
$ source /etc/profile

ok,到此python3.7源码安装完成

Centos7 安装python3与python2.7 共存的更多相关文章

  1. centos7安装Python3的过程中会和Python2.7版本冲突导致yum版本比对应,致使yum不能使用的问题。

    centos7安装Python3的过程中会和Python2.7版本冲突导致yum版本比对应,致使yum不能使用的问题. 原因:yum调用Python,启动程/usr/bin/yum就是一个python ...

  2. CenOS 安装python3 与python2共存

    Linux下默认系统自带python2.6的版本,这个版本被系统很多程序所依赖,所以不建议删除,如果使用最新的Python3那么我们知道编译安装源码包和系统默认包之间是没有任何影响的,所以可以安装py ...

  3. CentOS7 安装Python3,开发SocketIO 客户端

    CentOS7安装Python3,开发SocketIO 客户端 参考:https://blog.csdn.net/lovefengruoqing/article/details/79284573 步骤 ...

  4. centos7安装python3和ipython

    CentOS7下默认系统自带python2.X的版本,这个版本被系统很多程序所依赖,所以不建议删除,如果使用最新的Python3那么我们知道编译安装源码包和系统默认包之间是没有任何影响的,所以可以安装 ...

  5. centos7 安装python3 小白教程-CV大法

    安装python3 centos7,默认系统自带python2.7的版本,这个版本被系统很多程序所依赖,所以不建议删除,如果使用最新的Python3那么我们知道编译安装源码包和系统默认包之间是没有任何 ...

  6. centos7安装 python3.6,且保留2.7版本

    CENTOS7安装PYTHON3.6 1. 安装python3.6可能使用的依赖# yum install openssl-devel bzip2-devel expat-devel gdbm-dev ...

  7. Windows同时安装python3和python2

    Windows同时安装python3和python2 https://www.cnblogs.com/shanhua-fu/p/6912683.html Windows7 下python3和pytho ...

  8. centos7安装python3.7

    Centos7安装Python3的方法   由于centos7原本就安装了Python2,而且这个Python2不能被删除,因为有很多系统命令,比如yum都要用到. [root@VM_105_217_ ...

  9. centos7 安装 python3.5

    centos7 安装 python3.5 一. python虚拟环境virtualenv VirtualEnv用于在一台机器上创建多个独立的python运行环境,VirtualEnvWrapper为前 ...

  10. CentOS7 安装Python3.6.8

    CentOS7 安装Python3.6.8 1. 安装依赖环境 yum -y groupinstall "Development tools" yum -y install zli ...

随机推荐

  1. Authentication vs. Authorization

    Authentication vs. Authorization So, what is the difference between authentication and authorization ...

  2. mysql修改编码utf8

    摘要:使用apt-get 命令安装的mysql默认不是utf8.在这里记录一下如何将编码修改成utf8. Linux学习笔记之--ubuntu中mysql修改编码utf8 一:查看mysql版本 1. ...

  3. Openstack-创建实例错误

    创建实例错误 实例执行所请求操作失败,实例处于错误状态.: 请稍后再试 [错误: Build of instance beaeb5e0-26eb-4044-ae14-bb87d509886d abor ...

  4. VS2019 查看源码,使用F12查看源码

    前几天在微软社区看到VS的功能演示时,偶然看到此功能,对于开发人员来说太有用了,特此记录分享出来希望可以帮助到家. 具体设置步骤,打开vs2019,在工具>选项>文本编辑器>c#&g ...

  5. LinkedHashMap原理详解—从LRU缓存机制说起

    写在前面 从一道Leetcode题目说起 首先,来看一下Leetcode里面的一道经典题目:146.LRU缓存机制,题目描述如下: 请你设计并实现一个满足 LRU (最近最少使用) 缓存 约束的数据结 ...

  6. Figma 学习笔记 – Frame

    Frame = <div> Frame 就类似 HTML 中的 div, 它和形状 rectangle 特性上蛮相识的, 但是使用场景其实差很多, 所以不要搞错哦. (除了图片很少会用到 ...

  7. Git 客户端基本使用及新手常见问题

    Git作为一个版本管理工具,在企业中的应用越来越普遍.作为一个测试工程师,不可避免会需要接触到Git的相关操作,以下整理Git客户端的常见操作,以及应用中新手常碰到的一些问题. 1.环境安装及配置 G ...

  8. P1438 无聊的数列 题解

    背景 看到题解都是差分,竟然还有建两颗线段树和二阶差分的大佬. 我感到不理解,很不理解. 题目正解 本题正解很明显就是:线段树 是的,你没有看错,就只有线段树. 很显然我们直接按照线段树板题写就可以了 ...

  9. c++可变模板参数

    在C++中的可变模板参数使用省略号 ... 来表示一个参数包(Parameter Pack),其具体位置决定了这个包是模板参数包还是函数参数包,以及如何进行参数展开. 1. 模板参数包:c... Ar ...

  10. CentOS开放端口的方法(转载)

    CentOS开放端口的方法 转载:https://www.itfeichai.com/centos-open-porter/ Centos升级到7之后,内置的防火墙已经从iptables变成了fire ...