详解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编写一个简单的FUSE文件系统的教程
Apr 02 Python
Python HTMLParser模块解析html获取url实例
Apr 08 Python
Python易忽视知识点小结
May 25 Python
Python for Informatics 第11章之正则表达式(四)
Apr 21 Python
Python数据结构之翻转链表
Feb 25 Python
Python 多线程实例详解
Mar 25 Python
python实现简易数码时钟
Feb 19 Python
python的pytest框架之命令行参数详解(上)
Jun 27 Python
关于python中plt.hist参数的使用详解
Nov 28 Python
深入了解NumPy 高级索引
Jul 24 Python
calendar在python3时间中常用函数举例详解
Nov 18 Python
termux中matplotlib无法显示中文问题的解决方法
Jan 11 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
全国FM电台频率大全 - 5 内蒙古自治区
2020/03/11 无线电
配置Apache2.2+PHP5+CakePHP1.2+MySQL5运行环境
2009/04/25 PHP
PHP nl2br函数 将换行字符转成 <br>
2009/08/21 PHP
PHP中比较时间大小实例
2014/08/21 PHP
关于扩展 Laravel 默认 Session 中间件导致的 Session 写入失效问题分析
2016/01/08 PHP
yii2.0整合阿里云oss删除单个文件的方法
2017/09/19 PHP
php文件上传原理与实现方法详解
2019/12/20 PHP
JavaScript 通过模式匹配实现重载
2010/08/12 Javascript
初窥JQuery(一)jquery选择符 必备知识点
2010/11/25 Javascript
jQuery.validate 常用方法及需要注意的问题
2013/03/20 Javascript
jquery中选择块并改变属性值的方法
2013/07/31 Javascript
Javascript实现带关闭按钮的网页漂浮广告代码
2014/01/12 Javascript
推荐10个2014年最佳的jQuery视频插件
2014/11/12 Javascript
JavaScript 变量、作用域及内存
2015/04/08 Javascript
javascript检测两个数组是否相似
2015/05/19 Javascript
jquery实现多条件筛选特效代码分享
2015/08/28 Javascript
AngularJS的Filter的示例详解
2017/03/07 Javascript
jQuery Json数据格式排版高亮插件json-viewer.js使用方法详解
2017/06/12 jQuery
jquery拖动改变div大小
2017/07/04 jQuery
微信小程序实现左滑动删除效果
2020/03/30 Javascript
jquery实现拖拽小方块效果
2020/12/10 jQuery
[01:33]DOTA2上海特级锦标赛 LIQUID战队完整宣传片
2016/03/16 DOTA
使用Python实现一个简单的项目监控
2015/03/31 Python
python中defaultdict的用法详解
2017/06/07 Python
python编写弹球游戏的实现代码
2018/03/12 Python
浅述python2与python3的简单区别
2018/09/19 Python
python实现打砖块游戏
2020/02/25 Python
Python matplotlib画图时图例说明(legend)放到图像外侧详解
2020/05/16 Python
requests在python中发送请求的实例讲解
2021/02/17 Python
PHP使用Redis队列执行定时任务实例讲解
2021/03/24 PHP
《二泉映月》教学反思
2014/04/15 职场文书
公共机构节能宣传周活动总结
2014/07/09 职场文书
教师师德师风个人整改方案
2014/09/18 职场文书
如何拟写通知正文?
2019/04/02 职场文书
python游戏开发Pygame框架
2022/04/22 Python
使用Python获取字典键对应值的方法
2022/04/26 Python