CentOS更新Python版本,同时修复yum不能使用的问题
转自:Li_Hanx博客
遇到问题,需要更新python,网上找了好多都不能顺利更新,找到这位大佬的这篇博客,写的非常好,分享给大家。
发现一个新办法,那就是直接安装另一个版本的Python,比如Python3.5吧,然后把可执行文件命名为Python3,添加到环境变量里,这样在终端中输入Python3,就可以调用3.5版本的解释器了,而且不会影响系统自带的版本,比升级要方便的多。执意要升级的话,那就用下面的方法升级吧...
---------------------------------------------------------------
最近刚刚接触CentOS,在更新Python的过程中遇到很多问题,网上的很多教程写得不太适合我这个小白。经过多次尝试,也参考了很多教程之后,我终于找到了合适的方法,于是总结下来,希望可以帮到像我一样的初学者朋友们。
1.查看一下当前Python的版本
$ python -V
注意这里“V”是大写的,记得当前python的版本,之后会用得到。我的当前版本是2.6.6。
2.安装过程中需要拥有root权限,所以在一开始就获取root
$ su root
注意这里执行命令后提示输入密码,但是输入过程中,密码是不显示的,所以只需要键盘敲完密码回车就可以了
3.安装过程中还有可能会提示安装编译器,所以也提前下载安装好,以免后面报错
$ yum install gcc gcc-c++ autoconf automake
4.安装相关库文件
$ yum install -y zlib-devel bzip2-devel xz-libs wget
这里的库文件,不同的教程写的有差异,我在这里安装了zlib-devel、bzip2-devel、xz-libs这三个,目前为止没有出现其他问题
5.下载目标版本Python安装包
$ wget http://www.python.org/ftp/python/2.7.12/Python-2.7.12.tar.xz
我更新的是2.7.12版本,这里可以先到官网上看自己想用哪个版本,替换一下链接中的版本号就可以了
6.解压Python安装包
$ tar -xvf Python-2.7.12.tar.xz #解压安装包
这里注意文件名不要打错,执行命令后等待解压就可以了
7.进入解压后的目录
$ cd Python-2.7.12 #进入解压目录
文件夹的名字和压缩包的名字是一样的
8.指定安装路径
$ ./configure --prefix=/usr/local #将安装目录指定为/usr/local
9.编译并安装
$ make && make altinstall
这里有些教程是分开两步的,对比参考网上找到的教程,最后选择这个一行命令解决
10.移动旧版本Python(备份)
$ mv /usr/bin/python /usr/bin/python2.6.6
这里有两个路径: /usr/bin/python 是原位置,/usr/bin/python2.6.6是目标位置,2.6.6版本后面还会用得到,所以备份一下
11.建立软链接
$ ln -s /usr/local/bin/python2.7 /usr/bin/python
这里是把我们安装在local目录中的python2.7放到/usr/bin/python路径下,这种方式并没有直接复制文件到目标目录下,而是类似于创建文件的快捷方式
12.安装结束 查看版本
$ python -V
这里可以看到版本已经是2.7.12了,不过还没有结束,之前我们用到的yum,现在已经不能用了,因为更新了python版本,而yum与新版本python是不匹配的,所以接下来我们要再把yum改成对应到原来的版本,我这里自带的版本是2.6.6,下面完成修改
13.打开yum文件
$ vi /usr/bin/yum
这里我们在终端里打开yum文件,但是现在的状态只能浏览,下面继续编辑
14.修改yum文件
将光标移至首行末尾,按“a”键,可以看到终端左下角出现--insert--字样,此时就可以插入内容了,将首行原来的#!usr/bin/python改为:
#!/usr/bin/python2.6.6
然后按ESC退出编辑模式,注意这时候还没有保存。这里由于我将原来的2.6.6版本从/usr/bin/python移动到了/usr/bin/python2.6.6所以这样修改,如果移动到了其他位置,就要写对应的路径。
15.保存并退出
:wq
按ESC退出编辑模式后,无视光标当前的位置,直接输入":wq",就完成保存并退出了,此时yum就可以继续正常使用了。
昨天第一次用CentOS6.7,从网上查了很多教程,步骤都多多少少会出现一些问题,我用虚拟机试验了N遍+真机N遍+重装1次系统之后,终于找到了这个顺畅升级Python的流程,希望对其他像我这样刚刚接触Linux的入门级程序员有所帮助。另外,虚拟机是个好东西,随便实验,不行就删掉重来,简直不要太爽。安装VMware,在虚拟机下安装运行Linux的步骤网上有很多,都比较完善,我就不再赘述了。
如有错误,欢迎指正。
CentOS更新Python版本,同时修复yum不能使用的问题的更多相关文章
- CentOS更换python版本后,yum不可用的问题
因为yum调用了python,他的启动程序/usr/bin/yum就是一个python脚本 yum是不兼容 Python 2.7的,所以yum不能正常工作,我们需要指定 yum 的Python版本 将 ...
- linux下面升级 Python版本并修改yum属性信息
最近需要在linux下使用python,故需要升级一下python版本,上网查询了一下相关资料,更新了一下linux下面的python环境,记录如下: linux下面升级 Python版本并修改yum ...
- CentOS下更新python版本
执行#Python或#python -V或#python --version,看到版本号是2.7.5,到官网https://www.python.org/ftp/python/查看了下最新版本都到了2 ...
- centos 更新python
1.CentOS安装Python的依赖包 yum groupinstall "Development tools"yum install zlib-devel bzip2-deve ...
- liunx CentOS 升级Python版本
CentOS python版本是V2.6.6,升级3.4.3. 1.下载 安装包:wget http://www.python.org/ftp/python/3.4.3/Python-3.4.3.tg ...
- centos7升级Python版本后,yum不能正常使用
python升级方法,使用源码编译安装即可,prefix=/usr/local/bin/python3 执行yum list,提示/usr/bin/yum 报错 我是直接在Python2.7的基础上又 ...
- debian6 更新python版本到python3.3
1.下载python3.3安装包 #wget wget --no-cookie --no-check-certificate --header "Cookie:gpw_e24=http%3A ...
- CentOs系统设置python版本
一.针对当前终端生效 最近云服务器安装了centos7系统,python默认版本是2.7.5,但是习惯用anaconda3, 安装anaconda3之后将系统默认python版本更改为python3. ...
- linux多个python版本下导致yum报错
问题: $ yum File "/usr/bin/yum", line 30 except KeyboardInterrupt, e: ^ SyntaxError: invalid ...
随机推荐
- c++设计模式系列----factory模式
问题: 假设我们要开发一个游戏--打怪物,首先,游戏有分等级,假设有初级,中级两个个等级(就不用flappy bird模式了,那个比较特殊,对一个玩家来说是难以具有持久吸引力的!),不同的等级怪物也是 ...
- 2017中国大学生程序设计竞赛 - 网络选拔赛 HDU 6153 A Secret KMP,思维
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6153 题意:给了串s和t,要求每个t的后缀在在s中的出现次数,然后每个次数乘上对应长度求和. 解法:关 ...
- service XXX start启动报start: Rejected send message, 1 matche
转,原文地址:http://blog.sina.com.cn/s/blog_56d8ea9001018w1l.html [问题]start: Rejected send messag现象:crifan ...
- [ python ] hasattr()、getattr()、setattr() 三者关系及运用
hasattr(object, name) 判断一个对象(object)是否存在name属性或方法,返回boolean值,有name属性返回True, 否则返回False In [1]: class ...
- leetcode 之Rotate Image(8)
这题需要搞清楚矩阵元素的位置关系,尤其是副对角线元素,沿着副对角线元素 void rotateImage(vector<vector<int>> &matrix) { ...
- Hive 体系学习
Hive简介 Hive是一个基于Hadoop的数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并使用HQL作为查询接口.HDFS作为存储底层.MapReduce作为执行层,将HQL语句转换成M ...
- VUE 实现tab切换页面效果
一 163邮箱登录tab切换 <!DOCTYPE html> <html lang="en"> <head> <meta charset= ...
- 禅道BUG管理工具使用链接存储
http://www.zentao.net/book/zentaopmshelp/259.html
- LeetCode解题报告—— Longest Valid Parentheses
Given a string containing just the characters '(' and ')', find the length of the longest valid (wel ...
- Restful Framework (三)
目录 一.版本 二.解析器 三.序列化 四.请求数据验证 一.版本 回到顶部 程序也来越大时,可能通过版本不同做不同的处理 没用rest_framework之前,我们可以通过以下这样的方式去获取. c ...