详解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翻译软件实现代码(使用google api完成)
Nov 26 Python
python使用ctypes模块调用windowsapi获取系统版本示例
Apr 17 Python
python中随机函数random用法实例
Apr 30 Python
通过数据库对Django进行删除字段和删除模型的操作
Jul 21 Python
玩转python爬虫之爬取糗事百科段子
Feb 17 Python
Python win32com 操作Exce的l简单方法(必看)
May 25 Python
将TensorFlow的模型网络导出为单个文件的方法
Apr 23 Python
Python采集猫眼两万条数据 对《无名之辈》影评进行分析
Dec 05 Python
使用 pytorch 创建神经网络拟合sin函数的实现
Feb 24 Python
python列表切片和嵌套列表取值操作详解
Feb 27 Python
pytorch加载语音类自定义数据集的方法教程
Nov 10 Python
pytest fixtures装饰器的使用和如何控制用例的执行顺序
Jan 28 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删除左端与右端空格的方法
2014/11/29 PHP
PHP7.1新功能之Nullable Type用法分析
2016/09/26 PHP
Smarty日期时间操作方法示例
2016/11/15 PHP
巧妙破除网页右键禁用的十大绝招
2006/08/12 Javascript
document.getElementById为空或不是对象的解决方法
2010/01/24 Javascript
下拉列表选择项的选中在不同浏览器中的兼容性问题探讨
2013/09/18 Javascript
Javascript中的String对象详谈
2014/03/03 Javascript
详细探究ES6之Proxy代理
2016/07/22 Javascript
BootStrap tooltip提示框使用小结
2016/10/26 Javascript
基于jQuery制作小图标上下滑动特效
2017/01/18 Javascript
基于JavaScript实现弹幕特效
2020/08/27 Javascript
React-Native中props具体使用详解
2017/09/04 Javascript
vue2.0+ 从插件开发到npm发布的示例代码
2018/04/28 Javascript
vue cli3.0 引入eslint 结合vscode使用
2019/05/27 Javascript
three.js着色器材质的内置变量示例详解
2020/08/16 Javascript
vue中jsonp插件的使用方法示例
2020/09/10 Javascript
基于JavaScript实现随机点名器
2021/02/25 Javascript
[01:34]2016国际邀请赛中国区预选赛IG战队教练采访
2016/06/27 DOTA
python读取xlsx的方法
2018/12/25 Python
Appium+Python自动化测试之运行App程序示例
2019/01/23 Python
python日志logging模块使用方法分析
2019/05/23 Python
Python语言进阶知识点总结
2019/05/28 Python
Flask框架学习笔记之表单基础介绍与表单提交方式
2019/08/12 Python
使用浏览器访问python写的服务器程序
2019/10/10 Python
python Opencv计算图像相似度过程解析
2019/12/03 Python
python 使用递归的方式实现语义图片分割功能
2020/07/16 Python
Python内置函数及功能简介汇总
2020/10/13 Python
详解如何将 Canvas 绘制过程转为视频
2021/01/25 HTML / CSS
瑞士灯具购物网站:Lampenwelt.ch
2018/07/08 全球购物
实现向右循环移位
2014/07/31 面试题
初一学生评语大全
2014/04/24 职场文书
优秀党支部书记事迹材料
2014/05/29 职场文书
员工手册董事长致辞
2015/07/29 职场文书
go 原生http web 服务跨域restful api的写法介绍
2021/04/27 Golang
详解MySQL 联合查询优化机制
2021/05/10 MySQL
javascript进阶篇深拷贝实现的四种方式
2022/07/07 Javascript