详解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程序
Apr 04 Python
python解析json实例方法
Nov 19 Python
Python中用memcached来减少数据库查询次数的教程
Apr 07 Python
Python中的hypot()方法使用简介
May 18 Python
一波神奇的Python语句、函数与方法的使用技巧总结
Dec 08 Python
Python实现以时间换空间的缓存替换算法
Feb 19 Python
Python实现的根据IP地址计算子网掩码位数功能示例
May 23 Python
python3学习之Splash的安装与实例教程
Jul 09 Python
Python实现插入排序和选择排序的方法
May 12 Python
python3字符串操作总结
Jul 24 Python
Python3批量移动指定文件到指定文件夹方法示例
Sep 02 Python
Python3标准库glob文件名模式匹配的问题
Mar 13 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学习笔记(一) 简单了解PHP
2014/08/04 PHP
php中字符查找函数strpos、strrchr与strpbrk用法
2014/11/18 PHP
php实现按照权重随机排序数据的方法
2015/01/09 PHP
PHP的中使用非缓冲模式查询数据库的方法
2017/02/05 PHP
Yii框架创建cronjob定时任务的方法分析
2017/05/23 PHP
php批量转换文件夹下所有文件编码的函数类
2017/08/06 PHP
js实现超酷的照片墙展示效果图附源码下载
2015/10/08 Javascript
KnockoutJs快速入门教程
2016/05/16 Javascript
JS实现iframe编辑器光标位置插入内容的方法(兼容IE和Firefox)
2016/06/24 Javascript
简单了解JavaScript arguement原理及作用
2020/05/28 Javascript
vue scroll滚动判断的实现(是否滚动到底部、滚动方向、滚动节流、获取滚动区域dom元素)
2020/06/11 Javascript
javascript实现贪吃蛇小游戏
2020/07/28 Javascript
[02:20]DOTA2亚洲邀请赛 IG战队出场宣传片
2015/02/07 DOTA
使用python删除nginx缓存文件示例(python文件操作)
2014/03/26 Python
解读Django框架中的低层次缓存API
2015/07/24 Python
unittest+coverage单元测试代码覆盖操作实例详解
2018/04/04 Python
Python3多线程操作简单示例
2018/05/22 Python
使用python 3实现发送邮件功能
2018/06/15 Python
3分钟学会一个Python小技巧
2018/11/23 Python
Python告诉你木马程序的键盘记录原理
2019/02/02 Python
使用Django简单编写一个XSS平台的方法步骤
2019/03/25 Python
使用matlab 判断两个矩阵是否相等的实例
2020/05/11 Python
Keras 数据增强ImageDataGenerator多输入多输出实例
2020/07/03 Python
css3实现动画的三种方式
2020/08/24 HTML / CSS
canvas烟花特效锦集
2018/01/17 HTML / CSS
Origins悦木之源香港官网:雅诗兰黛集团高端植物护肤品牌
2018/03/21 全球购物
建筑行业的大学生自我评价
2013/12/08 职场文书
护士上岗前培训自我鉴定
2014/04/20 职场文书
气象学专业个人求职信
2014/04/22 职场文书
环保标语口号
2014/06/13 职场文书
合同和协议有什么区别?
2014/10/08 职场文书
小时代观后感
2015/06/10 职场文书
五星红旗迎风飘扬观后感
2015/06/17 职场文书
七一晚会主持词
2015/06/29 职场文书
那些美到让人窒息的诗句,值得你收藏!
2019/08/20 职场文书
5个实用的JavaScript新特性
2022/06/16 Javascript