1.1 Linux
CentOS 为例。
1.1.1 升级 Python
(1) 下载 Python 版本
$ wget https://www.python.org/ftp/python/2.7.11/Python-2.7.11.tgz
(2) 解压并进入该目录。
$ tar -zxvf Python-2.7.11.tgz
$ cd Python-2.7.11
(3) 编译安装至 /usr/local/python27 目录下。
$ ./configure --prefix=/usr/local/python27
$ make
$ make install
(4) 将原 Python 版本更改为历史版本。
$ mv /usr/bin/python /usr/bin/python-2.6.6
(5) 将新 Python 链接为最新版本。
$ ln -s /usr/local/python27/bin/python /usr/bin/python
(6) 验证 Python 版本。
$ python -V
Python 2.7.11
NOTE:
有些低版本 CentOS 系统 yum 命令使用环境变量中的 python 命令, 如果出现更新 Python 后 yum
命令无法使用,可以编辑 yum 命令的第一行,将 #!/usr/bin/python 更改为 #!/usr/bin/python_old
即可。

解决修改完系统默认python版本后yum不可用的问题

1
2
#修改yum文件
vi /usr/bin/yum

将文件头部的

1
#!/usr/bin/python

改为如下内容

1
#!/usr/bin/python-2.6.6

整个升级过程完成了。

其他问题

经过上面6步的操作本来yum是可用了,但是不知道哪位牛人又修改了系统的什么文件,导致使用yum的时候还是提示 no named yum的错误提示。经过查阅资料得知都是让修改yum的头部python的版本。

但是我已经修改过了(步骤6),不知道怎么解决了。最后放弃了“度娘”采用经常被和谐的Google,在Centos官网上查到了一篇文档,方法如下。

首先找到你安装Centos的光盘或者ISO文件,只要系统版本一样即可。拷贝如下文件到系统中:

1
2
3
4
5
python-2.6.6-36.el6.x86_64.rpm
python-urlgrabber-3.9.1-8.el6.noarch.rpm
python-devel-2.6.6-36.el6.x86_64.rpm
python-libs-2.6.6-36.el6.x86_64.rpm
yum-3.2.29-40.el6.centos.noarch.rpm

具体版本号,根据你系统盘或者ISO提供为准。我是拷贝到了如下目录

1
/usr/local/src/Python-2.6.6

执行安装

1
2
3
4
5
6
7
8
9
cd /usr/local/src/Python-2.6.6/
rpm -Uvh --replacepkgs *.rpm
#出现如下提示
Preparing... ########################################### [100%]
1:python-libs ########################################### [ 20%]
2:python ########################################### [ 40%]
3:python-urlgrabber ########################################### [ 60%]
4:yum ########################################### [ 80%]
5:python-devel ########################################### [100%]

执行yum命令,你熟悉的界面出现了~~

linux中python环境搭建及升级后yum不可用解决方案的更多相关文章

  1. Linux中输入命令按tab提示后会自动转义解决方案(xjl456852原创)

    linux在命令行输入命令时,如果有$字符,按tab键时会自动在前面加入转义字符,反而达不到自己需要的效果. 例如: 在Centos7下,我要进入一个环境变量,并编辑一个文件: 比如我要进入$JAVA ...

  2. Python环境搭建、python项目以docker镜像方式部署到Linux

    Python环境搭建.python项目以docker镜像方式部署到Linux 本文的项目是用Python写的,记录了生成docker镜像,然后整个项目在Linux跑起来的过程: 原文链接:https: ...

  3. Python环境搭建后,多种方式的使用进行程序的执行。

    Python环境搭建后,可以使用多种方式进行程序的执行. 第一种: 进入CMD命令提示符 输入python 进入python环境(可以使用Ctrl+C退出) 输入print("hello&q ...

  4. Python学习--Python 环境搭建

    Python环境搭建 Python是跨平台的编程语言,可应用于Windows.Linux.Mac OS X.你可以通过终端窗口输入"python"命令来查看本地是否安装了Pytho ...

  5. Linux vagrant+virtualbox环境搭建步骤

    Linux vagrant+virtualbox环境搭建步骤 Vagrant 是一款用来构建虚拟开发环境的工具,非常适合 php/python/ruby/java 这类语言开发 web 应用. 我们可 ...

  6. Python环境搭建和pycharm安装

    Python环境搭建和pycharm安装 本人安装环境为Windows10系统,下载的Python版本为3.4社区版本,可参考 1.下载Python3.4版本 官网:https://www.pytho ...

  7. Python环境搭建-3 Python下载

    python环境搭建 Python是一个跨平台.可移植的编程语言,因此可在windows.Linux和Mac OS X系统中安装使用. 安装完成后,你会得到Python解释器环境,可以通过终端输入py ...

  8. 第一章:起步(python环境搭建)

    Python 环境搭建 学习python的第一步,就是要学习python开发环境的配置,在配置好python开发环境后,你需要再安装一款比较趁手的编辑器,事实上,python解释器本身就可以进行一些编 ...

  9. python环境搭建以及jupyter notebook的安装和启动

    一.Python 环境搭建 本章节我们将向大家介绍如何在本地搭建Python开发环境. Python可应用于多平台包括 Linux 和 Mac OS X. 你可以通过终端窗口输入 "pyth ...

随机推荐

  1. suse安装软件命令

    zypper se xxxxx 是搜索软件包 zypper in xxxxx 跟apt-get install xxxx等价 zypper rm xxxx 删除 zypper up xxxx 更新软件

  2. 解决org.apache.subversion.javahl.ClientException: svn: E200007: Runner for 'org.tmatesoft.svn.core.wc2.SvnMerge' command have not been found

    最近使用svn的merge功能合并代码,一直出现一个错误: org.apache.subversion.javahl.ClientException: svn: E200007: Runner for ...

  3. Python学习(2)

    python基础学习(二)2.1 python定义函数用def,没有返回类型?def myabs(x) if x>0: return x python定义的函数可以多个直接一起返回,这一点和ja ...

  4. 在DDMS中访问data目录

    转自 http://blog.csdn.net/catoop/article/details/7584746 由于某些原因,需要通过eclipse访问/data/下的文件. 打开eclipse-DDM ...

  5. UML 2中结构图的介绍

    原文: http://www.ibm.com/developerworks/cn/rational/rationaledge/content/feb05/bell/ 这是关于统一建模语言.即UML 里 ...

  6. creating normals from alpha/heightmap inside a shader

    http://www.polycount.com/forum/showthread.php?t=117185 I am making some custom terrain shaders with ...

  7. iotop,pt-ioprofile : mysql IO负载高的来源定位

    http://www.cnblogs.com/cenalulu/archive/2013/04/12/3016714.html 前言: 在一般运维工作中经常会遇到这么一个场景,服务器的IO负载很高(i ...

  8. TRUNCATE TABLE 与 DELETE table 区别

    语法 TRUNCATE TABLE name;参数  TRUNCATE TABLE 在功能上与不带 WHERE 子句的 DELETE 语句相同:二者均删除表中的全部行. TRUNCATE TABLE ...

  9. shared_ptr与weak_ptr的例子

    12.20 编写程序,逐行读入一个输入文件,将内容存入一个StrBlob中,用一个StrBlobPtr打印出StrBlob的每个元素. StrBlob.h #ifndef STRBLOB_H #def ...

  10. 多态VI的创建

    比较适合使用多态VI的场合:一个算法会应用到几种不同的数据类型上.比如读写 INI 文件的 VI,它 们既可以读写数值型的数据,也可以读写字符串.布尔等数据类型. 实现多态 VI 之前,一般先实现它的 ...