详解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 相关文章推荐
python3.0 模拟用户登录,三次错误锁定的实例
Nov 02 Python
使用Python进行AES加密和解密的示例代码
Feb 02 Python
Python单元测试实例详解
May 25 Python
在python中利用GDAL对tif文件进行读写的方法
Nov 29 Python
Python vtk读取并显示dicom文件示例
Jan 13 Python
python使用梯度下降算法实现一个多线性回归
Mar 24 Python
Python Excel vlookup函数实现过程解析
Jun 22 Python
基于Python实现2种反转链表方法代码实例
Jul 06 Python
解决pytorch 交叉熵损失输出为负数的问题
Jul 07 Python
基于Python实现下载网易音乐代码实例
Aug 10 Python
聊一聊python常用的编程模块
May 14 Python
yolov5返回坐标的方法实例
Mar 17 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位运算的简单权限设计
2013/06/30 PHP
遭遇php的in_array低性能问题
2013/09/17 PHP
thinkphp验证码显示不出来的解决方法
2014/03/29 PHP
PHP提示Cannot modify header information - headers already sent by解决方法
2014/09/22 PHP
php数组排序usort、uksort与sort函数用法
2014/11/17 PHP
Thinkphp5框架ajax接口实现方法分析
2019/08/28 PHP
JS URL传中文参数引发的乱码问题
2009/09/02 Javascript
基于dom编程中 动态创建与删除元素的使用
2013/04/17 Javascript
在Html中使用Requirejs进行模块化开发实例详解
2016/04/15 Javascript
javascript self对象使用详解
2016/10/18 Javascript
jQuery实现div跟随鼠标移动
2020/08/20 jQuery
react-navigation 如何判断用户是否登录跳转到登录页的方法
2017/12/01 Javascript
vue框架下部署上线后刷新报404问题的解决方案(推荐)
2019/04/03 Javascript
layui 阻止图片上传的实例(before方法)
2019/09/26 Javascript
layer页面跳转,获取html子节点元素的值方法
2019/09/27 Javascript
vue-admin-template配置快捷导航的代码(标签导航栏)
2020/09/04 Javascript
[02:52]DOTA2新手基础教程 米波
2014/01/21 DOTA
[03:00]2018完美盛典_最佳英雄奖
2018/12/17 DOTA
Python实现简单的获取图片爬虫功能示例
2017/07/12 Python
Python中字典(dict)合并的四种方法总结
2017/08/10 Python
Python实现的简单读写csv文件操作示例
2018/07/12 Python
python的pygal模块绘制反正切函数图像方法
2019/07/16 Python
python集成开发环境配置(pycharm)
2020/02/14 Python
python使用turtle库绘制奥运五环
2020/02/24 Python
python GUI库图形界面开发之PyQt5表格控件QTableView详细使用方法与实例
2020/03/01 Python
pytorch 计算ConvTranspose1d输出特征大小方式
2020/06/23 Python
HTML5之SVG 2D入门10—滤镜的定义及使用
2013/01/30 HTML / CSS
留学自荐信的技巧
2013/10/17 职场文书
结婚邀请函范文
2014/01/14 职场文书
副董事长岗位职责
2014/04/02 职场文书
旅游节目策划方案
2014/05/26 职场文书
大学生考试作弊检讨书
2014/09/21 职场文书
2014年团支部工作总结
2014/11/17 职场文书
科技馆观后感
2015/06/08 职场文书
图文详解Nginx版本平滑升级方案
2021/09/15 Servers
mysql使用instr达到in(字符串)的效果
2022/04/03 MySQL