由于CentOS6.8里自带的yum所依赖的python是2.6.66版本,但是安装pip至少要求python是2.7版本,因而原有的2.6并不能卸载,又得安装新的2.7.之前安装的时候强制卸载了2.6导致无法识别yum模块,进而又重新安装了一遍yum。第一部分是介绍了正常情况下安装python2.7,第二部分是安装pip,第三部分是重新安装yum的步骤以及相关可能出现的问题。

  一,安装python2.7

  参考博客:

  CentOS 6.9安装Python2.7.13 - 特里 - 博客园, 

  CentOS升级Python2.6到Python2.7并安装pip - SXY的博客 - CSDN博客

  在centos6.5环境下搭建多版本python(python2.6、python2.7、python3.5)共存环境

  (关于这个方法,我能找到的最初的博客是这个,但可惜已经打不开了。)

  ①查看系统版本以及python版本号

cat /etc/redhat-release
python -V

  ②安装配置环境

  为了防止后面提醒缺少东西,就先把这些安装上

yum -y update
yum groupinstall 'Development Tools'
yum install -y zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel expat-devel

  特别说明一下,如果zlib-devel没安装的话,后面安装pip会有一个关于zlib的报错。同样要是openssl-devel没安装,会有WARNING - [xxxx] Load Crypto.Cipher.ARC4 Failed, Use Pure Python Instead.类似的报错。

 ③安装python

  python最新版本下载地址:https://www.python.org/downloads/

  python2.7.15下载地址:https://www.python.org/ftp/python/2.7.15/Python-2.7.15.tgz

wget https://www.python.org/ftp/python/2.7.15/Python-2.7.15.tgz
tar -zxvf Python-2.7.15.tgz
cd Python-2.7.15
./configure --prefix=/usr/local
make all
make altinstall
make clean

  这里用的是make altinstall,是为了不影响原有的python,但是我安装的时候用的是make install,后面也没什么影响。

ln -s /usr/local/bin/python2.7 /usr/bin/python

  将链接指向新的版本。再次查询的python版本的时候应该就是2.7.15了

  ④解决yum的问题

vi /usr/bin/yum

  将第一行  #!/usr/bin/python  改为 #!/usr/bin/python2.6

  这样yum也能照常用了。

  二,安装pip

  参考网站:Installation — pip 18.1 documentation

  之前根据前面参考博客中的方法,使用setuptools安装pip,并没有成功,因而这个就不再安装setuptools了。这里用官方给的方法就行。

curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
python get-pip.py

  我在这遇到了ssl的问题,导致在安装完openssl后,又重装了一次python,并且配置命令改成了

./configure --with-ssl

  其他的一些问题官网也有介绍。

  三、安装yum

  参考博客:centos 卸载python和yum之后的解决办法 - 风雪之殇 - 博客园

  由于之前的失误卸载了python2.6,导致没法使用yum。我试了下,哪怕重新装会python2.6也没用。出现的问题和上面博客中提及的一样。no module named yum。

  ①卸载python与yum

rpm -qa|grep python|xargs rpm -e --allmatches --nodeps
whereis python|xargs rm -fr rpm -qa|grep yum|xargs rpm -e --allmatches --nodeps
rm -rf /etc/yum.repos.d/*
whereis yum|xargs rm -fr

  ②安装python

  在参考博客里面给出的镜像站中,现在已经不再提供6.9及其以前的rpm包了,推荐使用这个:http://vault.centos.org/6.8/os/x86_64/Packages/ 。其中6.8为centos的版本号,x86_64为64位系统

mkdir /usr/local/src/python
cd /usr/local/src/python
wget http://vault.centos.org/6.8/os/x86_64/Packages/python-2.6.6-64.el6.x86_64.rpm
wget http://vault.centos.org/6.8/os/x86_64/Packages/python-iniparse-0.3.1-2.1.el6.noarch.rpm
wget http://vault.centos.org/6.8/os/x86_64/Packages/python-pycurl-7.19.0-9.el6.x86_64.rpm
wget http://vault.centos.org/6.8/os/x86_64/Packages/python-devel-2.6.6-64.el6.x86_64.rpm
wget http://vault.centos.org/6.8/os/x86_64/Packages/python-libs-2.6.6-64.el6.x86_64.rpm
wget http://vault.centos.org/6.8/os/x86_64/Packages/python-urlgrabber-3.9.1-11.el6.noarch.rpm
wget http://vault.centos.org/6.8/os/x86_64/Packages/rpm-python-4.8.0-55.el6.x86_64.rpm
rpm -ivh python-*   rpm-python-* 

  这有可能有已经安装的包有了依赖关系,只需要卸载了重装就好,具体的看参考博客,我没遇到就不写了。

  ③安装yum

mkdir /usr/local/src/yum
cd /usr/local/src/yum wget http://vault.centos.org/6.8/os/x86_64/Packages/yum-3.2.29-73.el6.centos.noarch.rpm
wget http://vault.centos.org/6.8/os/x86_64/Packages/yum-metadata-parser-1.1.2-16.el6.x86_64.rpm
wget http://vault.centos.org/6.8/os/x86_64/Packages/yum-plugin-fastestmirror-1.1.30-37.el6.noarch.rpm
rpm -ivh yum-*

  ④测试

yum

  显示出命令列表就可以了

  四、总结

  这样应该就没什么了。网络上给了乱七八糟的各种各样的,总有一款适合你。

CentOS6.8 安装python2.7,pip以及yum的更多相关文章

  1. CentOS6.5 安装Python2.7后, yum出现“No module named yum”错误

    安装如下方法安装python2.7: yum install –y python27 python27-devel python-docutils cd /usr/bin/ rm -rf python ...

  2. centos6.8 安装Python2.7后, yum出现“No module named yum”错误

    出现yum错误:No module named yum 解决方法,查看 /usr/bin下python有哪几个版本 ll /usr/bin 我这里是:2.6  和  2.7 (刚安装的) 由于yum命 ...

  3. CentOS6.9重新安装python2.6.6和yum

    CentOS6.9重新安装python2.6.6和yum 本文转载自昔日暖阳,原文地址:http://www.osheep.cn/4801.html 最近为了部署一个Python应用到腾讯云服务器,强 ...

  4. CentOS6.5安装Python2.7和Pip

    注:文中所写的安装过程均在CentOS6.5 x86下通过测试,安装的Python版本为2.7.12,Pip版本为8.1.2 主要参考博文:http://bicofino.io/2014/01/16/ ...

  5. 【Linux】 CentOS6.5安装Python2.7以及pip等工具

    原文地址 CentOS6.5下是原来就有python的,我的镜像里面自带的python版本是2.6.6.如果想要自己更新一个更加新的python版本可以这么做: 安装python2.7安装包. 从官网 ...

  6. centos6.5安装python2.7、pip、numpy、scipy

    1..安装Development Tools yum groupinstall -y 'development tools' 2.安装SSL.bz2.zlib来为Python的安装做好准备工作 yum ...

  7. Centos6.5安装python2.7与pip

    安装Python2.7 安装环境 [root@localhost1 ~]# cat /etc/redhat-release CentOS release 6.5 (Final) [root@local ...

  8. Centos6.5安装Python2.7.9

    1. 问题背景 Centos6.5默认自带的python环境是2.6.6,python的一些特性没法使用,所以要对python进行升级,借鉴了网上其他同学的安装教程,但是还是遇到一些坑,不是那木顺利, ...

  9. centos6.3安装python2.7, pip2.7, mysql

    参考: https://github.com/h2oai/h2o-2/wiki/Installing-python-2.7-on-centos-6.3.-Follow-this-sequence-ex ...

随机推荐

  1. Java程序执行超时——Future接口介绍

    在Java中,如果需要设定代码执行的最长时间,即超时,可以用Java线程池ExecutorService类配合Future接口来实现. Future接口是Java标准API的一部分,在java.uti ...

  2. SVG可伸缩矢量图形

    SVG可伸缩矢量图形 总结 1.svg就像普通标签那么使用 2.svg是xml 3.svg是矢量图,而canvas是位图 学习要点 对HTML5中的SVG有初步的了解 什么是SVG 简单的说SVG文档 ...

  3. ZOJ2334 Monkey King 左偏树

    ZOJ2334 用左偏树实现优先队列最大的好处就是两个队列合并可以在Logn时间内完成 用来维护优先队列森林非常好用. 左偏树代码的核心也是两棵树的合并! 代码有些细节需要注意. #include&l ...

  4. 删除".SVN"文件夹方法(转载)

    转自:http://www.cnblogs.com/lr-ting/archive/2012/09/03/2666271.html 一.在linux下  删除这些目录是很简单的,命令如下 find . ...

  5. Gold Coins

    http://poj.org/problem?id=2000 #include<stdio.h> ; int main() { int coin[N]; ,j,k; j = ; k = ; ...

  6. [Swift通天遁地]七、数据与安全-(19)使用Swift实现原生的SHA1加密

    ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★➤微信公众号:山青咏芝(shanqingyongzhi)➤博客园地址:山青咏芝(https://www.cnblogs. ...

  7. Akka源码分析-官方文档说明

    如果有小伙伴在看官方文档的时候,发现有些自相矛盾的地方,不要怀疑,可能是官方文档写错了或写的不清楚,毕竟它只能是把大部分情况描述清楚.开源代码一直在更新,官方文档有没有更新就不知道了,特别是那些官方不 ...

  8. HDU 5279 分治NTT 图的计数

    思路: 显然每个子图内都是森林 去掉所有子图1和n都连通且每条大边都存在的情况 直接DP上 NTT优化一波 注意前两项的值.. //By SiriusRen #include <bits/std ...

  9. Mac OS安装octave出现的问题-'error:terminal type set to 'unknown'的解决'

    学习Machine learning需要使用Octave语言,毕竟Andrew Ng (恩达.吴)力荐.本机系统Mac OS X EI Capitan, 其实什么系统都无所谓了,安装原理都是一样的. ...

  10. [转]linux之at指令详解

    转自:http://www.2cto.com/os/201409/336183.html 指令:at定时任务,指定一个时间执行一个任务,只能执行一次. 语法:# at [参数] [时间]at> ...