Centos 6.8系统镜像默认安装的 python 环境是 2.6.6,线上需求需要升级到 2.7.14 版本,网上找了相关资料,升级 python 版本比较容易,但 yum/pip 等命令的使用也会有问题,网上的资料是修改脚本 #!/usr/bin/python 的头文件,个人感觉麻烦,还是直接升级比较好,不用修改任何系统脚本。

一、环境下载

// 下载python2.7.14并安装
# wget https://www.python.org/ftp/python/2.7.14/Python-2.7.14.tgz
# tar zxvf Python-2.7..tgz
# cd Python-2.7.
# ./configure
# make
# make install // 验证
# which python
/usr/local/bin/python # python -V
Python 2.7.

安装过程出现了个小插曲,执行which python命令是指向 /usr/local/bin/python 地址的,但执行python进入的确是2.6.6老版本,此时执行 source /etc/profile 生效环境变量,python即可进入正确的环境

二、pip安装升级

安装urllib3报错,提示pip版本使用python2.6版本过低,不能安装。
# pip install urllib3
DEPRECATION: Python 2.6 is no longer supported by the Python core team, please upgrade your Python. A future version of pip will drop support for Python 2.6
Requirement already satisfied: urllib3 in /usr/lib/python2./site-packages
You are using pip version 9.0., however version 19.2. is available.
You should consider upgrading via the 'pip install --upgrade pip' command.

查看pip启动源码,发下脚本头部 #!/usr/bin/python 是使用系统自带的python命令。

# cat /usr/bin/pip
#!/usr/bin/python # -*- coding: utf- -*-
import re
import sys from pip import main if __name__ == '__main__':
sys.argv[] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[])
sys.exit(main())

通过下面可以看出pip还是使用系统的命令,对应的python版本是2.6.6,加载的packages也是2.6.6的,所以无法安装urllib3。

# which python
/usr/local/bin/python # which pip
/usr/bin/pip # pip --version
pip 9.0. from /usr/lib/python2./site-packages (python 2.6)
网上的一些资料是将头部 #!/usr/bin/python 直接软链到 python2.7,对于pip可行,但yum之类的其他命令会失效,行之有效的办法是直接在python2.7目录下生效pip命令。
使用如下方式生效python2.7中的pip命令:
# which python    //python使用的是2.7.14
/usr/local/bin/python # python -m pip //pip在python2.7.14找不到
/usr/local/bin/python: No module named pip 其中,-m参数的解释:run library module as a script (terminates option list) # python -m ensurepip # 生效pip命令
Collecting setuptools
Collecting pip
Installing collected packages: setuptools, pip
Successfully installed pip-9.0. setuptools-28.8. # python -m pip //pip生效了,根据帮助文档使用
Usage:
/usr/local/bin/python -m pip <command> [options] # pip -V //pip能正常加载python2.7的packages了
pip 9.0. from /usr/local/lib/python2./site-packages (python 2.7) # pip install urllib3 #urllib3包也能正常安装了
Requirement already satisfied: urllib3 in /usr/local/lib/python2./site-packages
You are using pip version 9.0., however version 19.2. is available.
You should consider upgrading via the 'pip install --upgrade pip' command.
其他基于python2.6.6版本的命令升级到python2.7.14方法一致。
结束时,顺便讲一下pip版本的升级与降级。查看网上资料时,有文章说 python -m ensurepip 后直接升级即可使用pip。
# python -m pip install --upgrade pip
# pip -V
pip 19.2. from /usr/local/lib/python2./site-packages/pip (python 2.7)

后来发现pip其实没必要升级,于是考虑降级到默认版本,使用如下方式降级即可。

# python -m pip install pip==9.0.     //降级到指定版本
# pip -V //降级成功
pip 9.0. from /usr/local/lib/python2./site-packages (python 2.7)
 
【参考资料】

python2.6.6升级python2.7.14的更多相关文章

  1. python2.7.5升级到2.7.14或者直接升级到3.6.4

    python2.7.5升级到2.7.14 1.安装升级GCC yum install -y gcc* openssl openssl-devel ncurses-devel.x86_64  bzip2 ...

  2. linux - python2.6.6 升级到python2.7.14

    一.升级 Python 2.7.14 版本 1. 准备安装包,系统是最小化安装 # 下载安装依赖的相关包[root@vip ~]# yum install vim gcc make wget -y [ ...

  3. Python—python2.7.5升级到2.7.14或者直接升级到3.6.4

    python2.7.5升级到2.7.14 1.安装升级GCC yum install -y gcc* openssl openssl-devel ncurses-devel.x86_64  bzip2 ...

  4. 记录一次CentOS环境升级Python2.6到Python2.7并安装最新版pip

    背景介绍 一次实验中需要安装python-etcd包.安装这个包时要求的python和pip版本比目前系统的版本高. 系统是centos6.6    64位 1 2 3 4 5 6 7 [root@m ...

  5. Centos——升级Python2.7及安装pip

    CentOS升级Python2.7及安装pip 1) 升级Python2.7 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 ...

  6. centos 7 python2.7.5升级到3.5.2

    centos 7 python2.7.5升级到3.5.2 下载python3.5.2 wget https://www.python.org/ftp/python/3.5.2/Python-3.5.2 ...

  7. 装python package 时,conda提示会升级python2到python3,那可能是你的windows不支持py2env下的此包。

    装python package 时,conda提示会升级python2到python3, 那可能是你的windows不支持py2env下的此包.比如:win 下,tensorflow就不支持py2的环 ...

  8. linux 升级python2.7

    linux为centos6,系统默认安装了python2.6,需要执行的python脚本内容包含标准库之xml.etree.ElementTree  用到库里的一个iter方法是python2.7的新 ...

  9. CentOS7下 Python2.7.5升级为Python2.7.13

    参考:https://www.jianshu.com/p/fad3942fc0ed 第一步:查看Centos版本及Python版本 • CentOS版本 [root@ tools_package]# ...

随机推荐

  1. eclipse等编辑器选中列快编辑的方法

    一.eclipse 1.首先按alt+shift+a,开启块选择模式 2.使用鼠标进行块选择 3.再次按Alt+Shift+a即可关闭块选择模式 二.EditPlus 1.菜单:编辑 -> 选择 ...

  2. 能ping通Linux但是ssh连不上问题解决方法

    问题:能ping通Linux服务器 但是ssh连不上  <Linux redhat AS4 版本> 解决方法这个问题花了我20分钟去查资料,网上写的解决方法也是五花八门,不过,总算解决了, ...

  3. vue 自定义事件

  4. git忽略.idea文件

    只需要在.gitignore文件增加.idea如果你已经推送到远程仓库,那需要执行git rm -r --cached .idea去掉已经托管的文件

  5. effective Java 第三版学习笔记

    创建对象类型的 1,静态工厂方法代替构造器 静态工厂方法有名称,不容易混乱他的作用 不必再每次调用他的时候创建实例,创建实例的代价是高的,可以重复利用缓存的对象 静态工厂甚至能返回子类对象,例如在接口 ...

  6. xhEditor编辑器从word粘贴公式

    我司需要做一个需求,就是使用富文本编辑器时,不要以上传附件的形式上传图片,而是以复制粘贴的形式上传图片. 在网上找了一下,有一个插件支持这个功能. WordPaster 安装方式如下: 直接使用Wor ...

  7. [GXOI/GZOI2019]特技飞行

    题目链接 [https://www.luogu.org/problem/P5302] 思路:这道题可以说是两道题的合并.注意到\(c\)的分数与 \(a\)和\(b\)的分数 无关,也就是说可以分成两 ...

  8. 自定义starter

    https://github.com/deadzq/spring-boot-starter-hello 父子项目 子项目引用父项目中的依赖和配置参数

  9. pyCharm专业版破解方案【附:四种破解】

    前言: 一般适合我们的工具才是好的工具,通过调研对比发现pycharm还不错,其它工具就不一一列举了 pyCharm社区版可以永久免费,但是它不支持HTML, JS, and SQL等,为了方便以后使 ...

  10. Hadoop zookeeper hbase spark phoenix (HA)搭建过程

    环境介绍: 系统:centos7 软件包: apache-phoenix-4.14.0-HBase-1.4-bin.tar.gz  下载链接:http://mirror.bit.edu.cn/apac ...