应用环境

Centos7或者RHEL7下默认安装的python版本为2.7.x,更新不够及时,现在很多时候需要额外安装较高版本的python环境,

网上搜罗一圈总结记录一下常用两种方式:

      ① 源码编译安装

      ② 第三方SCLo源安装

测试环境

CentOS 7.4 minimal(虚拟机)

安装步骤

方法一源码编译安装(推荐)

1. 下载源码包(官方下载:https://www.python.org/downloads/source/)

  1. [root@server-1 ~]# wget http://www.python.org/ftp/python/3.5.5/Python-3.5.5.tgz

2. 安装编译依赖

1
[root@server-1 ~]# yum install -y zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel gcc gcc-c++ make

3. 编译安装

  1. [root@server-1 ~]# tar zxvf Python-3.5.5.tgz    
  2. [root@server-1 ~]# cd Python-3.5.5
  3. [root@server-1 Python-3.5.5]# ./configure --prefix=/opt/python3.5.5
  4. [root@server-1 Python-3.5.5]# make && make install

4. 检查

  1. [root@server-1 Python-3.5.5]# cd /opt/python3.5.5/

5. 将高版本python配置到环境变量

  1. [root@server-1 ~]# echo 'export PATH=$PATH:/opt/python3.5.5/bin' >> /etc/profile
  2. [root@server-1 ~]# . /etc/profile

6. 修改系统默认python版本为python3

  1. [root@server-1 ~]# mv /usr/bin/python /usr/bin/python2.7.5   //把原来的重命名
  2. [root@server-1 ~]# ln -s /opt/python3.5.5/bin/python3 /usr/bin/python

7. 解决python默认版本升级后yum不能正常工作

原因:yum报错是因为yum运行后,其配置文件中指定python(默认2.x)版本不对了,因为我们上面将高版本的python做了软连接至/usr/bin/python。

处理:重新修改配置文件中的python指向

  1. [root@server-1 ~]# vim /usr/bin/yum

保存,退出;再次运行yum命令即可正常;

说明:其实不推荐修改系统的默认python版本,虽然方便,但是譬如以上出现的yum命令问题,虽然容易解决,但是,整个系统中不仅仅是

   yum单独这个命令用到了调用了python,还设有其他文件或者文件也用到,解决方法可以一如既往地尝试修改头部python版本,不过

   就怕万一遗忘在某次使用中。或者可以在使用python命令的时候不嫌麻烦地带上个数字3,即python3 。

补充:需要修改python头文件的还有以下文件:

   /usr/libexec/urlgrabber-ext-down

   /usr/bin/yum-config-manager     (yum-utils包生成)

   /usr/bin/yumdownloader     (yum-utils包生成)
        ……

方法二第三方yum源安装

1. 下载SCLo源

  1. [root@server-1 ~]# yum -y install centos-release-scl-rh

2. yum安装所需python版本

  1. [root@server-1 ~]# yum install rh-python36

3. 载入环境变量

  1. [root@server-1 ~]# scl enable rh-python36 bash

4. 检查

5. 使开机启动生效

  1. [root@server-1 ~]# vim /etc/profile

添加如下两句:

  1. source /opt/rh/rh-python36/enable
  2.  
  3. export X_SCLS="`scl enable rh-python36 'echo $X_SCLS'`"

说明:此种安装方式比较便捷,不过需要主机可以联网,并且部分关键字和命令不够通用熟悉。

结束.

centos7安装较高版本python3.5/3.6的更多相关文章

  1. 转:centos7/rhel7安装较高版本ruby2.2/2.3/2.4+

    centos7/rhel7安装较高版本ruby2.2/2.3/2.4+   环境需求:  在Centos7.3中,通过yum安装ruby的版本是2.0.0,但是如果有些应用需要高版本的ruby环境,比 ...

  2. CentOS6编译安装gcc高版本

    编译安装gcc高版本 因CentOS中gcc版本仅有4.4,故编译安装gcc高版本. 安装依赖库(如果你已安装过gcc低版本,可跳过这步) yum install glibc-static libst ...

  3. 安装了高版本OS X 之后无法使用MacPorts的port命令

    安装了高版本OS X 之后无法使用MacPorts的port命令 pod update提示: Current platform "darwin 14" does not match ...

  4. centos7/rhel7安装较高版本ruby2.2/2.3/2.4+

    环境需求: 在Centos7.3中,通过yum安装ruby的版本是2.0.0,但是如果有些应用需要高版本的ruby环境,比如2.2,2.3,2.4...那就有点麻烦了,譬如:我准备使用redis官方给 ...

  5. centos7 安装gitlab任意版本

    主要还是根据官网:https://www.gitlab.cc/installation/#centos-7 1.安装依赖: sudo yum install curl policycoreutils ...

  6. Linux安装MySQL8高版本压缩包(通用)

    前言 前段时间领导让我部署测试环境,希望安装高版本的MySQL,过程遇到很多问题,特此记录帮助迷失的人们 下载 MySQL官方下载地址:https://dev.mysql.com/downloads/ ...

  7. centos7 安装 mysql5.7 版本(全)

    centos 安装 版本说明 :centos7,mysql5.7 ,不是 centos7 可能有些命令不兼容 安装 mysql-server # 下载并安装 mysql yum wget -i -c ...

  8. Centos下安装git高版本2.1.2

    安装依赖软件 # yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel asciidoc # yum in ...

  9. Linux Centos7安装Oracle12c第二版本

    环境: CentOS7@VMware12,分配资源:CPU:2颗,内存:4GB,硬盘空间:30GB Oracle12C企业版64位 下载地址:http://www.oracle.com/technet ...

随机推荐

  1. async并发处理

  2. java.util.Collections.copy():列表List浅拷贝

    今天同事问我怎样将一个列表(list1)拷贝到另一个列表(list2),然后修改新的列表(list2)不会影响到旧的列表(list1),想了一想,这是深拷贝啊. 可是,除了循环new还有别的办法吗,想 ...

  3. API知识点总结

    一.开发api接口开放给其他人调用的api接口(短信接口,支付宝api) 二.api安全弱点数据窃取(解决加密),数据篡改(解决MD5),数据泄露(爬虫技术)(解决令牌)1.加密(HTTPS传输-收费 ...

  4. flutter image_picker使用照相机

    dependencies: image_picker: ^0.4.12+1 最新的^0.5+9编译无法通过 import 'dart:io'; import 'dart:async'; import ...

  5. java学习之—并归排序

    /** * 并归排序 * Create by Administrator * 2018/6/26 0026 * 下午 5:13 **/ public class DArray { private lo ...

  6. git format-patch制作内核补丁

    git init git add ./ git commit 之后修改代码 修改代码后执行 git add ./ git commit 执行完成后执行git log查询commit 的id 执行git ...

  7. python设计模式第二十四天【命令模式】

    1.使用场景 (1)调用过程比较繁琐,需要封装 (2)调用参数需要进行处理封装 (3)需要添加额外的功能,例如,日志,缓存,操作记录等 2.代码实现 #!/usr/bin/env python #! ...

  8. Learning to Rank for IR的评价指标—MAP,NDCG,MRR

    转自: https://www.cnblogs.com/eyeszjwang/articles/2368087.html MAP(Mean Average Precision):单个主题的平均准确率是 ...

  9. bmi

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  10. Zero to Build: Create new Xamarin apps in minutes with AppMap

    Creating a new Xamarin.Forms app can be an intimidating task, especially if you add in content pages ...