代码改变世界

RHEL 6.6下Python 2.6.6升级到Python 3.6.6

  潇湘隐者  阅读(2321)  评论(2编辑  收藏  举报

 

最近一段时间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 36yum不能正常使用需要编辑 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

 

编辑推荐:
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· .NET Core 托管堆内存泄露/CPU异常的常见思路
· PostgreSQL 和 SQL Server 在统计信息维护中的关键差异
· C++代码改造为UTF-8编码问题的总结
· DeepSeek 解答了困扰我五年的技术问题
阅读排行:
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· 清华大学推出第四讲使用 DeepSeek + DeepResearch 让科研像聊天一样简单!
· 实操Deepseek接入个人知识库
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库
历史上的今天:
2017-10-19 MS SQL xp_instance_regwrite设置注册表疑惑
2015-10-19 Database 'xxxx' is being recovered. Waiting until recovery is finished.
2014-10-19 ORACLE快速彻底Kill掉的会话
点击右上角即可分享
微信分享提示