详解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的Django框架中的QuerySets
Apr 20 Python
python UNIX_TIMESTAMP时间处理方法分析
Apr 18 Python
Python3.6正式版新特性预览
Dec 15 Python
pycharm中连接mysql数据库的步骤详解
May 02 Python
Python Socket实现简单TCP Server/client功能示例
Aug 05 Python
tensorflow识别自己手写数字
Mar 14 Python
Python Grid使用和布局详解
Jun 30 Python
在PyCharm中批量查找及替换的方法
Jan 20 Python
Python将主机名转换为IP地址的方法
Aug 14 Python
自定义Django默认的sitemap站点地图样式
Mar 04 Python
Python3爬虫带上cookie的实例代码
Jul 28 Python
Python实现曲线拟合的最小二乘法
Feb 19 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
新浪新闻小偷
2006/10/09 PHP
php5.2.0内存管理改进
2007/01/22 PHP
PHP的基本常识小结
2013/07/05 PHP
PHP中include和require的区别实例分析
2017/05/07 PHP
发现的以前不知道的函数
2006/09/19 Javascript
How to Auto Include a Javascript File
2007/02/02 Javascript
javascript 浏览器判断 绑定事件 arguments 转换数组 数组遍历
2009/07/06 Javascript
能说明你的Javascript技术很烂的五个原因分析
2011/10/28 Javascript
js弹出框轻量级插件jquery.boxy使用介绍
2013/01/15 Javascript
JS之Date对象和获取系统当前时间详解
2014/01/13 Javascript
jQuery图片切换插件jquery.cycle.js使用示例
2014/06/16 Javascript
Javascript学习笔记之 对象篇(四) : for in 循环
2014/06/24 Javascript
Javascript设计模式之观察者模式的多个实现版本实例
2015/03/03 Javascript
pace.js页面加载进度条插件
2015/09/29 Javascript
跟我学习javascript的执行上下文
2015/11/18 Javascript
深入理解Angular中的依赖注入
2017/06/26 Javascript
Vue.js上下滚动加载组件的实例代码
2017/07/17 Javascript
JS中的Replace()传入函数时的用法详解
2017/09/11 Javascript
使用bootstrap实现下拉框搜索功能的实例讲解
2018/08/10 Javascript
弱类型语言javascript开发中的一些坑实例小结【变量、函数、数组、对象、作用域等】
2019/08/07 Javascript
深度解读vue-resize的具体用法
2020/07/08 Javascript
如何利用nodejs实现命令行游戏
2020/11/24 NodeJs
[00:18]天涯墨客三技能展示
2018/08/25 DOTA
[42:00]完美世界DOTA2联赛PWL S3 Phoenix vs INK ICE 第一场 12.13
2020/12/17 DOTA
用python + hadoop streaming 分布式编程(一) -- 原理介绍,样例程序与本地调试
2014/07/14 Python
centos 下面安装python2.7 +pip +mysqld
2014/11/18 Python
在windows系统中实现python3安装lxml
2016/03/23 Python
整理Python 常用string函数(收藏)
2016/05/30 Python
使用Python来开发微信功能
2018/06/13 Python
python 读取、写入txt文件的示例
2020/09/27 Python
CSS3 display知识详解
2015/11/25 HTML / CSS
HTML5 History API 实现无刷新跳转
2016/01/11 HTML / CSS
小女主人连衣裙:Little Mistress
2017/07/10 全球购物
丝芙兰波兰:Sephora.pl
2018/03/25 全球购物
幼儿园中班上学期评语
2014/04/18 职场文书
毕业实习指导教师评语
2014/12/31 职场文书