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++多继承的细节
这几天写的程序应用到多继承. 以前对多继承的概念非常清晰,可是很久没用就有点模糊了.重新研究一下,“刷新”下记忆. 假设我们有下面的代码: #include <stdio.h> class ...
- sicily 1012. Stacking Cylinders & 1206. Stacking Cylinders
Time Limit: 1sec Memory Limit:32MB Description Cylinders (e.g. oil drums) (of radius 1 foot) are ...
- 图论-最近公共祖先-离线Tarjan算法
有关概念: 最近公共祖先(LCA,Lowest Common Ancestors):对于有根树T的两个结点u.v,最近公共祖先表示u和v的深度最大的共同祖先. Tarjan是求LCA的离线算法(先存储 ...
- Redis Cluster 集群使用(3)
简介 Redis3.0版本之前,可以通过Redis Sentinel(哨兵)来实现高可用(HA),从3.0版本之后,官方推出了Redis Cluster,它的主要用途是实现数据分片(Data Shar ...
- 《Java编程思想》阅读笔记一
Java编程思想 这是一个通过对<Java编程思想>(Think in java)第四版进行阅读同时对java内容查漏补缺的系列.一些基础的知识不会被罗列出来,这里只会列出一些程序员经常会 ...
- Elasticsearch源码分析(一)启动流程 ModuleBuilder injector
http://blog.csdn.net/u010994304/article/details/50452890 es启动脚本是bin目录下的elasticsearch. 脚本内容不再赘述,java主 ...
- hdu5782
官方题解不是很详细 首先有一个结论:若A=pa+sa B=pb+sb A.B串循环同构,则可以构造一个可行方案(pa,sb) (sa,pb)中有一个是最长匹配,这个不难用反证法证明. 对于s1,s2串 ...
- 删除DOM节点应用
<!-- HTML结构 --> <ul id="test-list"> <li>JavaScript</li> <li> ...
- VS2013 打开项目时提示This project is incompatible with the current edition Visual Studio.
刚安装完成了Visual Studio 2013后,打开项目时,遇到以下问题 解决方法:在Visual Studio 2013 的菜单中打开“Tools",并打开“Extensions an ...
- python之sqlite3使用详解
Python SQLITE数据库是一款非常小巧的嵌入式开源数据库软件,也就是说没有独立的维护进程,所有的维护都来自于程序本身.它使用一个文件存储整个数据库,操 作十分方便.它的最大优点是使用方便,功能 ...