详解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采集博客中上传的QQ截图文件
Jul 18 Python
Python输出PowerPoint(ppt)文件中全部文字信息的方法
Apr 28 Python
Python中格式化format()方法详解
Apr 01 Python
解决win64 Python下安装PIL出错问题(图解)
Sep 03 Python
使用python判断你是青少年还是老年人
Nov 29 Python
Python从list类型、range()序列简单认识类(class)【可迭代】
May 31 Python
django云端留言板实例详解
Jul 22 Python
opencv导入头文件时报错#include的解决方法
Jul 31 Python
Python在OpenCV里实现极坐标变换功能
Sep 02 Python
Python configparser模块应用过程解析
Aug 14 Python
Python日志器使用方法及原理解析
Sep 27 Python
Python Pandas list列表数据列拆分成多行的方法实现
Dec 14 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简单命令代码集锦
2007/09/24 PHP
Windows PHP5和Apache的安装与配置
2009/06/08 PHP
解决PHP超大文件下载,断点续传下载的方法详解
2013/06/06 PHP
php使用number_format函数截取小数的方法分析
2016/05/27 PHP
JavaScript delete操作符应用实例
2009/01/13 Javascript
jQuery EasyUI API 中文文档 - MenuButton菜单按钮使用介绍
2011/10/06 Javascript
jquery遍历checkbox介绍
2014/02/21 Javascript
浏览器缩放检测的js代码
2014/09/28 Javascript
NodeJS中Buffer模块详解
2015/01/07 NodeJs
js addDqmForPP给标签内属性值加上双引号的函数
2016/12/24 Javascript
vue-i18n实现中英文切换的方法
2020/07/06 Javascript
浅谈JavaScript中this的指向更改
2020/07/28 Javascript
[01:05]DOTA2完美大师赛趣味视频之选手教你打职业
2017/11/23 DOTA
Python中的map()函数和reduce()函数的用法
2015/04/27 Python
Python导出数据到Excel可读取的CSV文件的方法
2015/05/12 Python
使用Python对Excel进行读写操作
2017/03/30 Python
详解Python核心编程中的浅拷贝与深拷贝
2018/01/07 Python
matlab中实现矩阵删除一行或一列的方法
2018/04/04 Python
python版opencv摄像头人脸实时检测方法
2018/08/03 Python
在unittest中使用 logging 模块记录测试数据的方法
2018/11/30 Python
python之mock模块基本使用方法详解
2019/06/27 Python
python 画出使用分类器得到的决策边界
2019/08/21 Python
Pytorch实现LSTM和GRU示例
2020/01/14 Python
Python3.6 + TensorFlow 安装配置图文教程(Windows 64 bit)
2020/02/24 Python
快速解决Django关闭Debug模式无法加载media图片与static静态文件
2020/04/07 Python
在Django中自定义filter并在template中的使用详解
2020/05/19 Python
python使用多线程查询数据库的实现示例
2020/08/17 Python
Python类成员继承重写的实现
2020/09/16 Python
巴西女装购物网站:Eclectic
2018/04/24 全球购物
万户网络JAVA程序员岗位招聘笔试试卷
2013/01/08 面试题
驾驶员岗位职责
2014/01/29 职场文书
给老婆的保证书范文
2014/04/28 职场文书
开学典礼策划方案
2014/05/28 职场文书
小学安全工作总结2015
2015/05/18 职场文书
赵氏孤儿观后感
2015/06/09 职场文书
解决Golang time.Parse和time.Format的时区问题
2021/04/29 Golang