最近一段时间shell脚本写得很溜,很有成就感,一想到被自己落下的Python就感到十分心虚。开始坚持学习Python!先将自己的测试机器的Python升级到Python 3.6.6。简单整理、记录一下!

 

1:检查当前Linux版本&Python版本信息

# more /etc/redhat-release 

Red Hat Enterprise Linux Server release 6.6 (Santiago)

 

# python -V

Python 2.6.6

2:下载、解压Python安装包

注意官方网址提供各个版本,以及不同压缩格式的安装包,选择合适自己的即可。如果Linux不能访问外网,也可以手工下载上传。此处略过!

#wget https://www.python.org/ftp/python/3.6.6/Python-3.6.6.tgz

#tar -xzvf Python-3.6.6.tgz 

3:编译安装Python 3.6.6

#cd Python-3.6.6

#./configure --prefix=/usr/local

# make 

# make install  或者  make altinstall

# make clean

注释:

./configure 是用来检测你的安装平台的目标特征的。比如它会检测你是不是有CC或GCC,并不是需要CC或GCC,它是个shell脚本

make 是用来编译的,它从Makefile中读取指令,然后编译。

make install是用来安装的,它也从Makefile中读取指令,安装到指定的位置。

make clean:清除编译产生的可执行文件及目标文件(object file,*.o)。

注意make install 与 make altinstall的区别:

install 除了做 altinstall 外还会做 bininstall , maninstall 共三个动作bininstall 就是在处理 Symbolic Link Chain 的相关事务, 而 maninstall 则是在产生 unversioned manual pages, 所以, 很明显的, 不使用 bininstall 可以避免 python install 时 update link 的问题。如果使用make install,你将会看到在系统中有两个不同版本的Python在/usr/bin/目录中。这将会导致很多问题,而且不好处理。

4:验证是否升级成功

 

# python -V

Python 2.6.6

# /usr/local/bin/python3.6 -V

Python 3.6.6

5:设置环境变量

 

# mv /usr/bin/python    /usr/bin/python.bak

# ln -s /usr/local/bin/python3.6 /usr/bin/python

# python -V

Python 3.6.6

6配置yum

如下所示,升级 Python 之后,由于将默认的python指向了python 3。6,yum不能正常使用,需要编辑 yum 的配置文件

yum clean

File "/usr/bin/yum", line 30

except KeyboardInterrupt, e:

^

SyntaxError: invalid syntax

编辑vim /usr/bin/yum 配置文件,将第一行记录#!/usr/bin/python改为#!/usr/bin/python2.6

RHEL 6.6下Python 2.6.6升级到Python 3.6.6的更多相关文章

  1. 【转】python 2.6.6升级到python 2.7.x版本的方法

    1.下载python2.7.x wget https://www.python.org/ftp/python/2.7.6/Python-2.7.6.tgz 2.解压并编译安装 tar -zxvf Py ...

  2. CentOS 7将Python 2.X.X升级到Python 3.X.X

    # cd /usr/local/src/ # ls Python-.tgz # .tgz # ls Python- Python-.tgz # cd Python-/ # yum install gc ...

  3. Centos7下把python 2.7升级到python 3.6(升级过程遇到的一些相关问题)

    Centos 7 默认安装的Python 的版本是2.7的,现在不少人用的是3.x上的版本,故而需要了解下如何从Python2.7升级到Python 3.6. 在虚拟机安装时,网络不通会先遇到一个错误 ...

  4. 在windows下用eclipse + pydev插件来配置python的开发环境

    在windows下用eclipse + pydev插件来配置python的开发环境 一.安装 python 可以到网上下个Windows版的python,官网为:https://www.python. ...

  5. [原创]如何编写多个阻塞队列连接下的多生产者多消费者的Python程序

    平常在写程序时,往往会遇到一个需求:在程序的多个阶段都会出现阻塞的可能,因此,这多个阶段就需要并发执行. Python的多线程有一个特点,就是不允许从外部结束一个运行中的线程,这给我们编写代码时带来了 ...

  6. Ubuntu下将python从2.7升级到3.5

    在ubuntu 的终端中用代码下载最新的Python sudo apt-get install python3 系统会提示输入Linux 的密码,输入密码后下载 刚才下载的Python程序被安装在us ...

  7. 转 windows下安装pycharm并连接Linux的python环境 以及 windows 下notepad ++编辑 linux 的文件

    ######sample 1:windows下安装pycharm并连接Linux的python环境 https://www.cnblogs.com/junxun/p/8287998.html wind ...

  8. 孤荷凌寒自学python第四十五天Python初学基础基本结束的下阶段预安装准备

     孤荷凌寒自学python第四十五天Python初学基础基本结束的下阶段预安装准备 (完整学习过程屏幕记录视频地址在文末,手写笔记在文末) 今天本来应当继续学习Python的数据库操作,但根据过去我自 ...

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

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

随机推荐

  1. GenerationType四中类型

    https://blog.csdn.net/u011781521/article/details/72210980 JPA提供的四种标准用法为TABLE,SEQUENCE,IDENTITY,AUTO. ...

  2. Python 字典和集合基于哈希表实现

    哈希表作为基础数据结构我不多说,有兴趣的可以百度,或者等我出一篇博客来细谈哈希表.我这里就简单讲讲:哈希表不过就是一个定长数组,元素找位置,遇到哈希冲突则利用 hash 算法解决找另一个位置,如果数组 ...

  3. IIS连接数据库:数据库连接出错,请检查连接字串

    搞了一早上,在网上看了各种回答,比如:C盘下的Temp文件夹权限.CONN.asp中的数据库路径问题,都不通.最后发现是: 如果使用的是64位系统,原因有可能是没有64位Access连接驱动. 所以解 ...

  4. Android Studio 获取数字签名

    下面介绍下调试版本和发布版本,获取数字签名的方法,通过以下方法可以获取到SHA1和MD5 1.调试版本 在调试模式下,Android studio会默认生成一个debug.keystore签名文件,因 ...

  5. Chapter 4 Invitations——13

    "Thank you," I said icily. “谢谢你”,我冰冷的说道. His eyes narrowed. 他眯着眼睛. "You're welcome,&q ...

  6. 10年架构师告诉你,他眼中的Spring容器是什么样子的

    相关文章 如何慢慢地快速成长起来? 成长的故事之Spring Core系列 你是如何看待Spring容器的,是这样子吗? Spring的启动过程,你有认真思考过吗?(待写) 面向切面编程,你指的是Sp ...

  7. C#线程安全使用(三)

    在讲CancellationTokenSource之前我决定先讲一下lock和Interlocked,如果能很好的理解这两个,再去理解CancellationTokenSource就会方便很多,由于我 ...

  8. 隔离 docker 容器中的用户

    笔者在前文<理解 docker 容器中的 uid 和 gid>介绍了 docker 容器中的用户与宿主机上用户的关系,得出的结论是:docker 默认没有隔离宿主机用户和容器中的用户.如果 ...

  9. ASP.net core 使用UEditor.Core 实现 ueditor 上传功能

    ASP.net core 使用UEditor.Core 实现 ueditor 上传功能 首先通过nuget 引用UEditor.Core,作者github:https://github.com/bai ...

  10. WPF 中 DispatcherTimer 计时器

    在 WPF 中涉及到界面操作的计时器时,一定要使用 DispatcherTime,DispatcherTimer是为 WPF 专门设计的,不然的话会提示界面资源被其他线程所拥有而无法更新界面.Disp ...