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.6 升级至 Python 2.7 的实践心得
2017 年 04 月 26 日 - 初稿
阅读原文 - https://wsgzao.github.io/post/python-2-6-update-to-2-7/
扩展阅读
Python - https://www.python.org/ PyPI - https://pypi.python.org/pypi pip - https://pip.pypa.io/en/stable/user_guide/#configuration
因为 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 的小技巧,相关文件我会上传至网盘
# 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 下安装扩展包可能没有想象中那么顺利,遇到安装不上的包推荐去下面这个网址看看
http://www.lfd.uci.edu/~gohlke/pythonlibs/
下载 Python,如 2.7.13 https://www.python.org/downloads/ https://www.python.org/ftp/python/2.7.13/python-2.7.13.msi
安装时注意勾选环境变量 Add python.exe to Path
安装 python2.7.13 默认自带 pip 版本为 9.0.1 PS C:\Users\Administrator> pip -V pip 9.0.1 from c:\python27\lib\site-packages (python 2.7)
安装 Python 后升级 pip python -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(pippah): os.mkdir(pippath) with open(pippath+"pip.ini","w+") as f: f.write(ini)
![]() | 1 wwqgtxx 2017-04-27 09:31:10 +08:00 via iPhone ![]() 都 python3.6 了,还在讨论怎么从 2.6 升级当 2.7,也是醉了 |
![]() | 2 alen 2017-04-27 09:31:49 +08:00 我开始用 pyenv,环境变量有问题退出账号后再次登陆就有问题,后来索性下载最新的 2.7.13 编译,改 yum 和 pip 就 OK 了,环境( Centos6.5 ) |
![]() | 3 gyorou 2017-04-27 09:40:45 +08:00 ![]() |
![]() | 4 hiboshi 2017-04-27 09:44:16 +08:00 表示升级到 2.7 后 yum 不能用了 |
5 chenqh 2017-04-27 09:45:15 +08:00 所以我用 ubuntu,升级麻烦。。 |
![]() | 6 est 2017-04-27 09:47:10 +08:00 miniconda2 保平安。 |
![]() | 9 limbo0 2017-04-27 09:53:48 +08:00 ![]() 选择 Python 2 还是 Python 3 也没有定论 肯定是 3 啊, 2 马上就不支持了 |
10 coolcoffee 2017-04-27 10:01:09 +08:00 @limbo0 等到停止更新那天,再考虑升级 python3 也不迟呀。 这又不是操作系统,停止了更新就容易遭受到新的漏洞攻击。 |
![]() | 11 Kilerd 2017-04-27 10:02:24 +08:00 via iPhone pyenv 欢迎你 |
12 think2011 2017-04-27 10:15:50 +08:00 作为一名前端开发人员和 python 新手,我依然表示不能理解... |
![]() | 13 raysonx 2017-04-27 10:19:13 +08:00 via Android CentOS6 可以用 scl 源将 python2.7 安装到非默认路径,不需要自己编译 |
![]() | 14 Muninn 2017-04-27 10:22:44 +08:00 这还要写一篇文章 也是醉了。。。 |
![]() | 15 lybenson 2017-04-27 10:23:45 +08:00 所以我选择 anaconda |
18 julyclyde 2017-04-27 10:57:00 +08:00 一般来说贴些无用文章都是一些垃圾小网站做的 习惯性我就看最后一行了 居然不是 |
![]() | 19 GoBeyond 2017-04-27 12:12:34 +08:00 via Android 为什么要升级?能带来性能上的提升么? |
![]() | 20 leavic 2017-04-27 15:00:56 +08:00 这不是挖坟吧 |
![]() | 21 RealLiuSha 2017-04-27 17:37:08 +08:00 已经 3.6 了。。。。 |
![]() | 22 limbo0 2017-04-27 20:18:50 +08:00 @coolcoffee 能升最好一次升完, 要不 lz 又要开始写 2.x 升级 3.x 了 233 |
![]() | 23 timothyye 2017-04-27 20:22:18 +08:00 via Android 很多项目是有历史包袱的吧 |
![]() | 24 lichun 2017-04-27 21:17:05 +08:00 百度云盘。。。 |
25 kuretru 2017-04-27 21:32:01 +08:00 via iPhone 有更简便的方法 function InstallPython27() { yum -y install https://rhel6.iuscommunity.org/ius-release.rpm rpm --import /etc/pki/rpm-gpg/IUS-COMMUNITY-GPG-KEY yum -y install python27 python27-devel python27-pip python27-setuptools python27-virtualenv cd /usr/bin rm -rf /usr/bin/python ln -s python2.7 python sed -i "s|#!/usr/bin/python|#!/usr/bin/python2.6|" yum } |
26 panda1001 2017-04-28 06:59:46 +08:00 via Android 有了 centos py2 至少还能战十年 |
![]() | 27 pyufftj 2017-04-28 09:12:58 +08:00 python3 哭晕在厕所 |
![]() | 28 mcfog 2017-04-28 10:09:38 +08:00 via Android win98 升级 winxp 的心得 |