Python 2.6.6升级到Python2.7.15
最近在使用Python处理MySQL数据库相关问题时,需要用到Python2.7.5及以上版本,而centos6.5等版本操作系统默认自带的版本为2.6.6,因此需要对python进行升级。
Python升级的步骤大致分为如下步骤:
- 安装依赖包
- 下载安装包并上传至操作系统,下载路径
- 解压、编译、安装
- 配置相关路径下的python命令
- 修改yum启动路径
1. 安装依赖包
# 编译时需要使用gcc,故需先检查并安装gcc
yum install gcc -y
2. 下载安装包并上传至操作系统
# 本次采用wget直接在linux系统下载。下载路径为python官网https://www.python.org/ftp/python,选择对应的版本,并下载
wget https://www.python.org/ftp/python/2.7.15/Python-2.7.15.tgz
3. 解压、编译、安装
# 解压
tar -zxvf Python-2.7.15.tgz
# 编译、安装
cd Python-2.7.15 ./configure --prefix=/usr/local/python2.7
检查是否有错误,如无错误则继续
make make install
# 查看安装结果
cd /usr/local/python2.7/bin
ll
./python2 #运行本路径下的python2,或写全路径测试,否则为原版本的命令
./python2.7 #运行本路径下的python2,或写全路径测试,否则为原版本的命令
4. 配置相关路径下的python命令
# 查看python命令
whereis python
# 拷贝命令,修改配置软链接,注意不能将python2.6版本的命令删除,因为yum不支持python2.7,后续修改yum命令时需要用到python2.6
cd /usr/bin ll *python* unlink python unlink python2 ll *python* cp /usr/local/python2.7/bin/python2.7 /usr/bin/python2.7 #注意路径 ln -s /usr/bin/python2.7 python ln -s python python2 ll *python*
python #可以看到提示的Python2.7.15,证明安装成功,但是还没有彻底结束
5.修改yum启动路径
yum不兼容 Python 2.7,当把Python2.6.6升级成了Python2.7以后, yum将不能正常工作,因此需要指定 yum 的Python版本
# 升级后运行yum命令报错信息
There was a problem importing one of the Python modules
required to run yum. The error leading to this problem was:
No module named yum
Please install a package which provides this module, or
verify that the module is installed correctly.
It's possible that the above module doesn't match the
current version of Python, which is:
2.7.15 (default, Jun 25 2018, 09:22:50)
[GCC 4.4.7 20120313 (Red Hat 4.4.7-18)]
If you cannot solve this problem yourself, please go to
the yum faq at:
http://yum.baseurl.org/wiki/Faq
# 修改yum启动命令
vim /usr/bin/yum #将头部#!/usr/bin/python 修改为 #!/usr/bin/python2.6
# 修改后测试,如下表明已修改好,yum可以正常工作了
至此,python2.6.6升级为python2.7.15工作就完成了,运行python命令就相当于运行python2.7.15版本的Python,运行python2.6即使用python2.6.6版的python,如下所示:
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 因为Apifox不支持离线,我果断选择了Apipost!
· 通过 API 将Deepseek响应流式内容输出到前端