详解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项目发布为exe可执行程序过程分享
Oct 23 Python
Python的Django框架使用入门指引
Apr 15 Python
用Python实现换行符转换的脚本的教程
Apr 16 Python
Python导出数据到Excel可读取的CSV文件的方法
May 12 Python
python开发之list操作实例分析
Feb 22 Python
深入理解python中sort()与sorted()的区别
Aug 29 Python
Python中捕获键盘的方式详解
Mar 28 Python
python保留小数位的三种实现方法
Jan 07 Python
opencv python如何实现图像二值化
Feb 03 Python
jupyter lab文件导出/下载方式
Apr 22 Python
如何在向量化NumPy数组上进行移动窗口
May 18 Python
pytorch中[..., 0]的用法说明
May 20 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
thinkphp分页集成实例
2017/07/24 PHP
关于php开启错误提示的总结
2019/09/24 PHP
js indexOf()定义和用法
2012/10/21 Javascript
动态加载script文件的两种方法
2013/08/15 Javascript
详解JavaScript中localStorage使用要点
2016/01/13 Javascript
详解Webwork中Action 调用的方法
2016/02/02 Javascript
js改变透明度实现轮播图的算法
2020/08/24 Javascript
node+experss实现爬取电影天堂爬虫
2016/11/20 Javascript
AJAX和jQuery动态加载数据的实现方法
2016/12/05 Javascript
setTimeout学习小结
2017/02/08 Javascript
VUE中使用Vue-resource完成交互
2017/07/21 Javascript
为什么我们要做三份 Webpack 配置文件
2017/09/18 Javascript
Angular实现可删除并计算总金额的购物车功能示例
2017/12/26 Javascript
JS基于封装函数实现的表格分页完整示例
2018/06/26 Javascript
一份超级详细的Vue-cli3.0使用教程【推荐】
2018/11/15 Javascript
微信小程序基于picker实现级联菜单
2019/02/15 Javascript
微信小程序利用云函数获取手机号码
2019/12/17 Javascript
vue实现分页加载效果
2019/12/24 Javascript
JS图片懒加载的优点及实现原理
2020/01/10 Javascript
写给新手同学的vuex快速上手指北小结
2020/04/14 Javascript
[01:11]回顾历届DOTA2国际邀请赛中国区预选赛
2017/06/26 DOTA
Python yield 小结和实例
2014/04/25 Python
Tornado Web Server框架编写简易Python服务器
2018/07/28 Python
python Kmeans算法原理深入解析
2019/08/23 Python
python如何输出反斜杠
2020/06/18 Python
如何使用 Flask 做一个评论系统
2020/11/27 Python
详解python的变量缓存机制
2021/01/24 Python
皇家阿尔伯特瓷器美国官网:Royal Albert美国
2020/02/16 全球购物
琳达·法罗眼镜英国官网:Linda Farrow英国
2021/01/19 全球购物
护理学专业推荐信
2013/12/03 职场文书
班组长安全生产职责
2013/12/16 职场文书
门卫工作岗位职责
2013/12/17 职场文书
生日宴会家属答谢词
2015/09/29 职场文书
物业管理交接协议书
2016/03/24 职场文书
62句有关感恩节文案(推荐收藏)
2019/11/28 职场文书
JavaScript圣杯布局与双飞翼布局实现案例详解
2022/08/05 Javascript