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 ...
随机推荐
- python基础===Python 迭代器模块 itertools 简介
本文转自:http://python.jobbole.com/85321/ Python提供了一个非常棒的模块用于创建自定义的迭代器,这个模块就是 itertools.itertools 提供的工具相 ...
- UVALive 7040 Color
题目链接:LA-7040 题意为用m种颜色给n个格子染色.问正好使用k种颜色的方案有多少. 首先很容易想到的是\( k * (k-1)^{n-1}\),这个算出来的是使用小于等于k种颜色给n个方格染色 ...
- C基础 大文件读取通过标准库
引言 - 问题的构建 C大部分读取文件的时候采用fgetc, 最近在使用过程中发现性能不是很理想.都懂得fgetc每次只能读取一个字符, IO操作太频繁. 所以性能低. 本文希望通过标准库函数frea ...
- Leetcode 之Binary Tree Preorder Traversal(42)
树的先序遍历.定义一个栈,先压入中间结点并访问,然后依次压入右.左结点并访问. vector<int> preorderTraversal(TreeNode *root) { vector ...
- 简写代码:当变量为false时['',false,null,undefined,0,NaN]时,返回默认值
当变量为'',false,null,undefined,0,NaN时,返回默认值 var a='' a || 'hello world' "hello world" var a ...
- 用淘宝镜像cnpm代替npm
安装淘宝镜像cnpm: $ sudo npm install -g cnpm --registry=https://registry.npm.taobao.org 然后就大部分可以用cnpm来代替np ...
- 【转】Debug 运行正常,Release版本不能正常运行
http://blog.csdn.net/ruifangcui7758/archive/2010/10/18/5948611.aspx引言 如果在您的开发过程中遇到了常见的错误,或许您的Release ...
- AC日记——[ZJOI2015]幻想乡战略游戏 洛谷 P3345
[ZJOI2015]幻想乡战略游戏 思路: 树剖暴力转移: 代码: #include <bits/stdc++.h> using namespace std; #define maxn 1 ...
- maven创建springboot项目
1.new Project 2.选择spring Initializr 3.选择next,可以自定义group.artifact,type里可以选择maven也可以选择gradle 4.选择sprin ...
- sonarQube安装及本机扫描C#项目
因项目需要,需要使用sonarQube对代码进行扫描并查看,因对sonarQube不熟悉,所以先在本机搭建测试环境. 参考了张老师的博客:http://www.cnblogs.com/danzhang ...