详解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中SOAP项目的介绍及其在web开发中的应用
Apr 14 Python
Python协程的用法和例子详解
Sep 09 Python
Python针对给定列表中元素进行翻转操作的方法分析
Apr 27 Python
python多进程实现文件下载传输功能
Jul 28 Python
python广度优先搜索得到两点间最短路径
Jan 17 Python
Python集合操作方法详解
Feb 09 Python
深入浅析Python 函数注解与匿名函数
Feb 24 Python
对Keras中predict()方法和predict_classes()方法的区别说明
Jun 09 Python
Python 创建守护进程的示例
Sep 29 Python
Python更改pip镜像源的方法示例
Dec 01 Python
python 实现逻辑回归
Dec 30 Python
python实战之一步一步教你绘制小猪佩奇
Apr 22 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实现读取手机客户端浏览器的类
2015/01/09 PHP
typecho插件编写教程(三):保存配置
2015/05/28 PHP
8个必备的PHP功能开发
2015/10/02 PHP
php计划任务之验证是否有多个进程调用同一个job的方法
2015/12/07 PHP
用cookies实现的可记忆的样式切换效果代码下载
2007/12/24 Javascript
JavaScript自定义日期格式化函数详细解析
2014/01/14 Javascript
Node.js与PHP、Python的字符处理性能对比
2014/07/06 Javascript
jQuery日历插件datepicker用法详解
2016/03/03 Javascript
简单实现js页面切换功能
2021/01/10 Javascript
Angularjs 实现动态添加控件功能
2017/05/25 Javascript
浅谈webpack打包生成的bundle.js文件过大的问题
2018/02/22 Javascript
vue实现在线预览pdf文件和下载(pdf.js)
2019/11/26 Javascript
nodejs实现百度舆情接口应用示例
2020/02/07 NodeJs
Vue使用富文本编辑器Vue-Quill-Editor(含图片自定义上传服务、清除复制粘贴样式等)
2020/05/15 Javascript
如何在vue 中使用柱状图 并自修改配置
2021/01/21 Vue.js
Python 命令行非阻塞输入的小例子
2013/09/27 Python
用C++封装MySQL的API的教程
2015/05/06 Python
Python使用matplotlib绘制动画的方法
2015/05/20 Python
Python学习笔记之抓取某只基金历史净值数据实战案例
2019/06/03 Python
python matplotlib库绘制条形图练习题
2019/08/10 Python
python实现滑雪者小游戏
2020/02/22 Python
最小二乘法及其python实现详解
2020/02/24 Python
Python模拟登录和登录跳转的参考示例
2020/10/30 Python
想学画画?python满足你!
2020/12/24 Python
Python jieba库分词模式实例用法
2021/01/13 Python
为数据库创建索引都需要注意些什么
2012/07/17 面试题
Java面试题:说出如下代码的执行结果
2015/10/30 面试题
专科应届生求职信
2013/11/24 职场文书
给校长的一封建议书
2014/03/12 职场文书
新年寄语大全
2014/04/12 职场文书
体育节口号
2014/06/19 职场文书
高效课堂标语
2014/06/26 职场文书
社区党的群众路线教育实践活动剖析材料
2014/10/09 职场文书
2014年镇党建工作汇报材料
2014/11/02 职场文书
详解CSS玩转图片Base64编码
2021/05/25 HTML / CSS
Nginx静态压缩和代码压缩提高访问速度详解
2022/05/30 Servers