详解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抓取京东价格分析京东商品价格走势
Jan 09 Python
python创建一个最简单http webserver服务器的方法
May 08 Python
Python中线程编程之threading模块的使用详解
Jun 23 Python
Python实现桶排序与快速排序算法结合应用示例
Nov 22 Python
django 基于中间件实现限制ip频繁访问过程详解
Jul 30 Python
python处理excel绘制雷达图
Oct 18 Python
Tensorflow矩阵运算实例(矩阵相乘,点乘,行/列累加)
Feb 05 Python
python绘制封闭多边形教程
Feb 18 Python
用python打开摄像头并把图像传回qq邮箱(Pyinstaller打包)
May 17 Python
Django ORM实现按天获取数据去重求和例子
May 18 Python
浅谈sklearn中predict与predict_proba区别
Jun 28 Python
用sleep间隔进行python反爬虫的实例讲解
Nov 30 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
DOTA2 玩家自创拉野攻略 特色英雄快速成长篇
2020/04/20 DOTA
PHP5 安装方法
2006/10/09 PHP
PHP 文件扩展名 获取函数
2009/06/03 PHP
PHP 中文处理技巧
2010/04/25 PHP
PHP PDOStatement::errorInfo讲解
2019/01/31 PHP
javascript onmouseout 解决办法
2010/07/17 Javascript
html的DOM中Event对象onabort事件用法实例
2015/01/21 Javascript
jQuery为动态生成的select元素添加事件的方法
2016/08/29 Javascript
Bootstrap 3的box-sizing样式导致UEditor控件的图片无法正常缩放的解决方案
2016/09/15 Javascript
jQuery焦点图左右转换效果
2016/12/12 Javascript
详解vue beforeRouteEnter 异步获取数据给实例问题
2019/08/09 Javascript
解决vue net :ERR_CONNECTION_REFUSED报错问题
2020/08/13 Javascript
Vue管理系统前端之组件拆分封装详解
2020/08/23 Javascript
Node 使用express-http-proxy 做api网关的实现
2020/10/15 Javascript
Nest.js散列与加密实例详解
2021/02/24 Javascript
Python注释详解
2016/06/01 Python
python实现简单名片管理系统
2018/11/30 Python
flask 使用 flask_apscheduler 做定时循环任务的实现
2019/12/10 Python
opencv3/C++ 平面对象识别&透视变换方式
2019/12/11 Python
python Manager 之dict KeyError问题的解决
2019/12/21 Python
Pycharm安装Qt Design快捷工具的详细教程
2020/11/18 Python
python全栈开发语法总结
2020/11/22 Python
在python中对于bool布尔值的取反操作
2020/12/11 Python
css3 transform过渡抖动问题解决
2020/10/23 HTML / CSS
英国发展最快的在线超市之一:Click Marketplace
2021/02/15 全球购物
String这个类型的class为何定义成final?
2012/11/13 面试题
活动总结范文
2014/08/30 职场文书
学生党员批评与自我批评
2014/10/15 职场文书
2014年学生工作总结
2014/11/20 职场文书
护士先进个人总结
2015/02/13 职场文书
2015年营业员工作总结
2015/04/23 职场文书
政协常委会议主持词
2015/07/03 职场文书
庭外和解协议书
2016/03/23 职场文书
仅用一句SQL更新整张表的涨跌幅、涨跌率的解决方案
2021/05/06 MySQL
JavaScript实现贪吃蛇游戏
2021/06/16 Javascript
CPU不支持Windows11系统怎么办
2021/11/21 数码科技