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 ...
随机推荐
- imx6设备树pinctrl解析【转】
转自:http://blog.csdn.net/michaelcao1980/article/details/50730421 版权声明:本文为博主原创文章,未经博主允许不得转载. 最近在移植linu ...
- udpserver.pl 和 udpclient.pl
udpserver.pl #!use/bin/perl -w use Socket; #导入Socket库 ,INADDR_ANY);#压入sockaddr_in模式,利用了全局当地压缩地点INADD ...
- 大公司开源网址[www]
https://github.com/blackberry https://github.com/CallForSanity?tab=repositories https://github.com/b ...
- spring mvc注解文件上传下载
需要两个包: 包如何导入就不介绍了,前端代码如下(一定要加enctype="multipart/form-data"让服务器知道是文件上传): <form action=&q ...
- linux命令(32):free命令
1.显示内存使用情况:free free –g free –m 2.以总和的形式显示内存的使用信息: free -t 3.周期性的查询内存使用信息:free -s 10
- Google的C++开源代码项
转:http://blog.csdn.net/wenrenhua08/article/details/40040903 v8 - V8 JavaScript EngineV8 是 Google 的 ...
- 【JBPM4】创建流程实例
示例代码: ProcessEngine processEngine = Configuration.getProcessEngine(); ExecutionService executionServ ...
- 封装ajax支持get、post
为什么要封装ajax,因为…… for(var i=0;i<20;i++){ $.ajax(……) } 的时候,整个页面都卡死了,于是,我开始找答案. 后来,找到了,就是jquery的ajax属 ...
- 数据库的主从复制常用Xshell命令
mysql配置 1.设置数据库用户名和密码 mysqladmin -u root password "root" 2.打开3306端口号 iptables -I INPUT -p ...
- JavaScript中字符串分割函数split用法实例
这篇文章主要介绍了JavaScript中字符串分割函数split用法,实例分析了javascript中split函数操作字符串的技巧,非常具有实用价值,需要的朋友可以参考下 本文实例讲述了JavaSc ...