详解Python 2.6 升级至 Python 2.7 的实践心得


Posted in Python onApril 27, 2017

前言

CentOS 6.8 安装 Python 2.7.13,因为软件版本上的需求所以考虑将 Python 升级至 2.7.13,加上生产环境还是以 RHEL 6 为主,互联网自动化运维平台大多数也推荐以Python 2.7.x + CentOS 6.x 来操作,选择 Python 2 还是 Python 3 也没有定论,找到适合的搭配即可。

简单安装

因为Python 2.7.13以后版本会自动完善yum配置,所以不必参考以前的网上文章去修改其他地方

# 查看当前系统中的 Python 版本,返回 Python 2.6.6 为正常
python --version

Python 2.6.6

# 检查 CentOS 版本,返回 CentOS release 6.8 (Final) 为正常
cat /etc/redhat-release

CentOS release 6.8 (Final)

# 安装所有的开发工具包
yum groupinstall -y "Development tools"
# 安装其它的必需包
yum install -y zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel

# 下载、编译和安装 Python 2.7.13
#wget https://www.python.org/ftp/python/2.7.13/Python-2.7.13.tgz
tar zxf Python-2.7.13.tgz
cd Python-2.7.13
./configure
make && make install

# 查看新的 Python 版本,返回 Python 2.7.13 为正常
python --version

Python 2.7.13

ansible离线安装实践

这里利用了一些内网离线安装ansible的小技巧。

# Install Python
tar xf Python-2.7.13.tgz
cd Python-2.7.13
./configure
make
make install

# ImportError: No module named six.moves
tar xf six-1.10.0.tar.gz
cd six-1.10.0
python setup.py install
cd ..
# ImportError: No module named packaging.version
tar xf packaging-16.8.tar.gz
cd packaging-16.8
python setup.py install
cd ..
# ImportError: No module named pyparsing
tar xf pyparsing-2.2.0.tar.gz
cd pyparsing-2.2.0
python setup.py install
cd ..
# ImportError: No module named appdirs
tar xf appdirs-1.4.3.tar.gz
cd appdirs-1.4.3
python setup.py install
cd ..
# Install Setuptools
unzip setuptools-34.2.0.zip
cd setuptools-34.2.0
python setup.py install
cd ..
# Install pip
tar xf pip-9.0.1.tar.gz
cd pip-9.0.1
python setup.py install
cd ..

# pip 离线下载依赖包
pip install -d ~/tmp/ ansible
pip install -d ~/tmp/ ansible-cmdb

# pip 离线安装
pip install ansible --index-url=http://172.31.197.1:7000/simple/ --trusted-host=172.31.197.1
pip install ansible-cmdb --index-url=http://172.31.197.1:7000/simple/ --trusted-host=172.31.197.1

# 查看安装好的版本
[root@ansible-wangao ansible]# pip -V
pip 9.0.1 from /usr/local/lib/python2.7/site-packages/pip-9.0.1-py2.7.egg (python 2.7)

[root@ansible-wangao ansible]# ansible --version
ansible 2.3.0.0
 config file = /etc/ansible/ansible.cfg
 configured module search path = Default w/o overrides
 python version = 2.7.13 (default, Apr 25 2017, 17:19:23) [GCC 4.4.7 20120313 (Red Hat 4.4.7-17)]

[root@ansible-wangao ansible]# ansible-cmdb --version
ansible-cmdb v1.20

# 更换豆瓣pip源
vim $HOME/.pip/pip.conf

[global]
index-url = https://pypi.doubanio.com/simple/
[install]

trusted-host=pypi.doubanio.com

Windows 安装 Python 2.7.x

下载Python,如 2.7.13

https://www.python.org/downlo...

https://www.python.org/ftp/py...

安装时注意勾选环境变量Add python.exe to Path

安装python2.7.13默认自带pip版本为9.0.1

PS C:UsersAdministrator> pip -V

pip 9.0.1 from c:python27libsite-packages (python 2.7)

安装Python后升级pippython -m pip install --upgrade pip

# 更换pypi国内源,运行以下python代码会自动建立pip.ini
import os

ini="""[global]
index-url = https://pypi.doubanio.com/simple/
[install]
trusted-host=pypi.doubanio.com
"""
pippath=os.environ["USERPROFILE"]+"\\pip\\"

if not os.path.exists(pippath):
  os.mkdir(pippath)

with open(pippath+"pip.ini","w+") as f:
  f.write(ini)

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python入门_浅谈字符串的分片与索引、字符串的方法
May 16 Python
基于python的多进程共享变量正确打开方式
Apr 28 Python
对python中的乘法dot和对应分量相乘multiply详解
Nov 14 Python
python 列表递归求和、计数、求最大元素的实例
Nov 28 Python
Python中xml和json格式相互转换操作示例
Dec 05 Python
python实现三维拟合的方法
Dec 29 Python
在Python中构建增广矩阵的实现方法
Jul 01 Python
Python CVXOPT模块安装及使用解析
Aug 01 Python
关于Django Models CharField 参数说明
Mar 31 Python
Django websocket原理及功能实现代码
Nov 14 Python
matplotlib 画动态图以及plt.ion()和plt.ioff()的使用详解
Jan 05 Python
python基础之匿名函数详解
Apr 21 Python
Python中创建字典的几种方法总结(推荐)
Apr 27 #Python
Python中index()和seek()的用法(详解)
Apr 27 #Python
Python中几种导入模块的方式总结
Apr 27 #Python
Python利用matplotlib生成图片背景及图例透明的效果
Apr 27 #Python
python使用matplotlib绘图时图例显示问题的解决
Apr 27 #Python
Python中生成Epoch的方法
Apr 26 #Python
python 网络编程详解及简单实例
Apr 25 #Python
You might like
通过PHP CLI实现简单的数据库实时监控调度
2009/07/01 PHP
使用PHP导出Word文档的原理和实例
2013/10/21 PHP
php实现发送微信模板消息的方法
2015/03/07 PHP
php 使用html5实现多文件上传实例
2016/10/24 PHP
由document.body和document.documentElement想到的
2009/04/13 Javascript
javascript 全角转换实现代码
2009/07/17 Javascript
JS window.opener返回父页面的应用
2009/10/24 Javascript
jQuery对象和DOM对象使用说明
2010/06/25 Javascript
Asp.net下利用Jquery Ajax实现用户注册检测(验证用户名是否存)
2010/09/12 Javascript
javascript获取函数名称、函数参数、对象属性名称的代码实例
2014/04/12 Javascript
基于jquery实现一个滚动的分步注册向导-附源码
2015/08/26 Javascript
JQuery EasyUI的一些常用组件
2017/07/12 jQuery
Vue学习笔记进阶篇之单元素过度
2017/07/19 Javascript
angular2中使用第三方js库的实例
2018/02/26 Javascript
NVM安装nodejs的方法实用步骤
2019/01/16 NodeJs
微信小程序MUI导航栏透明渐变功能示例(通过改变rgba的a值实现)
2019/01/24 Javascript
基于vue实现图片验证码倒计时60s功能
2019/12/10 Javascript
js实现鼠标拖拽div左右滑动
2020/01/15 Javascript
Postman内建变量常用方法实例解析
2020/07/28 Javascript
uin-app+mockjs实现本地数据模拟
2020/08/26 Javascript
[40:03]RNG vs VG 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/17 DOTA
[01:19:46]EG vs Secret 2019国际邀请赛淘汰赛 胜者组 BO3 第二场 8.21.mp4
2020/07/19 DOTA
Python编程中字符串和列表的基本知识讲解
2015/10/14 Python
详解PANDAS 数据合并与重塑(join/merge篇)
2019/07/09 Python
解决python3 安装不了PIL的问题
2019/08/16 Python
python PyQt5/Pyside2 按钮右击菜单实例代码
2019/08/17 Python
在Python中使用turtle绘制多个同心圆示例
2019/11/23 Python
美国探亲签证邀请信
2014/02/05 职场文书
2014学雷锋活动总结
2014/03/09 职场文书
办理房产证委托书
2014/09/18 职场文书
工作粗心大意检讨书
2014/09/18 职场文书
常务副县长“三严三实”对照检查材料思想汇报
2014/10/05 职场文书
业务员工作态度散漫检讨书
2014/11/02 职场文书
反邪教观后感
2015/06/11 职场文书
喜迎建国70周年:有关爱国的名言名句
2019/09/24 职场文书
使用javascript解析二维码的三种方式
2021/11/11 Javascript