详解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外星人入侵游戏编程完整版
Mar 30 Python
Python实现字符串反转的常用方法分析【4种方法】
Sep 30 Python
JSONLINT:python的json数据验证库实例解析
Nov 28 Python
Python中pow()和math.pow()函数用法示例
Feb 11 Python
python调用系统ffmpeg实现视频截图、http发送
Mar 06 Python
Python离线安装PIL 模块的方法
Jan 08 Python
Python设计模式之职责链模式原理与用法实例分析
Jan 11 Python
python实现淘宝秒杀脚本
Jun 23 Python
python绘制双Y轴折线图以及单Y轴双变量柱状图的实例
Jul 08 Python
PyQT5 实现快捷键复制表格数据的方法示例
Jun 19 Python
详解python 支持向量机(SVM)算法
Sep 18 Python
python中类与对象之间的关系详解
Dec 16 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 stripslashes和addslashes的区别
2014/02/03 PHP
基于PHP实现商品成交时发送短信功能
2016/05/11 PHP
js客户端快捷键管理类的较完整实现和应用
2010/06/08 Javascript
window.print打印指定div实例代码
2013/12/13 Javascript
调整小数的格式保留小数点后两位
2014/05/14 Javascript
NodeJS制作爬虫全过程(续)
2014/12/22 NodeJs
jQuery+css3实现文字跟随鼠标的上下抖动
2015/07/31 Javascript
angularjs自定义ng-model标签的属性
2016/01/21 Javascript
vue,angular,avalon这三种MVVM框架优缺点
2016/04/27 Javascript
Jquery ajax请求导出Excel表格的实现代码
2016/06/08 Javascript
AngularJS  ng-table插件设置排序
2016/09/21 Javascript
Vue方法与事件处理器详解
2016/12/01 Javascript
使用Bootstrap Tabs选项卡Ajax加载数据实现
2016/12/23 Javascript
浅谈angularjs中响应回车事件
2017/04/24 Javascript
十个免费的web前端开发工具详细整理
2017/09/18 Javascript
使用Electron构建React+Webpack桌面应用的方法
2017/12/15 Javascript
使用Angular CLI进行单元测试和E2E测试的方法
2018/03/24 Javascript
JS实现的JSON数组去重算法示例
2018/04/11 Javascript
详解React之key的使用和实践
2018/09/29 Javascript
详解vue 在移动端体验上的优化解决方案
2019/05/20 Javascript
jQuery中DOM常见操作实例小结
2019/08/01 jQuery
[02:28]DOTA2 2015国际邀请赛中国区预选赛首日现场百态
2015/05/26 DOTA
Python自动重试HTTP连接装饰器
2015/04/28 Python
python实现上传下载文件功能
2020/11/19 Python
Flask之请求钩子的实现
2018/12/23 Python
python中实现控制小数点位数的方法
2019/01/24 Python
Python3+RIDE+RobotFramework自动化测试框架搭建过程详解
2020/09/23 Python
python中@contextmanager实例用法
2021/02/07 Python
CSS中垂直居中的简单实现方法
2015/07/06 HTML / CSS
九州传奇上机题
2014/07/10 面试题
介绍一下Ruby的特点
2013/01/20 面试题
早读迟到检讨书
2014/01/24 职场文书
大学社团活动策划书
2014/01/26 职场文书
本科毕业生求职自荐信
2014/02/03 职场文书
争先创优心得体会
2014/09/12 职场文书
结婚保证书
2015/01/16 职场文书