如果你看到了这篇文章,你可能已经已经翻阅了无数的centos安装python教程,可能都没有作用,甚至还把环境快搞报废了,网上有的教程实在是太不负责任! 不要气馁,在这里我把我踩的坑尽量罗列出来,争取让您一步到位解决centos升级python环境问题!
我的机器环境: 腾讯云,Centos6,系统自带的是Python2.6.6,由于需要写爬虫,.py文件运行在2.6环境会无法连接htpps,故需要升级成2.7。
本文中参考了一些其他文章,但是网上基本重复文章很多,无法确定原作者到底是哪一篇,所以就不贴出来了,如果有侵权请告诉我。
备注:为什么说这个问题是个坑,主要是因为Centos6系统自带的是Python2.6.6,而控制台的python以及软件安装yum还有pip都默认连接到了2.6,当你装了2.7之后并不能很好的使用它。
安装必要的准备包
yum groupinstall "Development tools"
另外,Python安装中需要的一些依赖包
yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel
下载安装Python2.7.11(可以去官网查更新的版本)
wget https://www.python.org/ftp/python/2.7.11/Python-2.7.11.tgz
tar vxf Python-2.7.11.tgz
cd Python-2.7.11.tgz
./configure --prefix=/usr/local
make && make install
建立软连接,使系统默认的 python指向 python2.7
# 删除原来的软连接
# 注意这里2.6.6可能不存在,我的里面是python2.6 所以就要自己更改下
mv /usr/bin/python /usr/bin/python2.6.6
# 建立软连接,总之这里的如果报错请自己查看系统目录里的文件名
ln -s /usr/local/bin/python2.7 /usr/bin/python
最后,检查python版本
python
安装2.7之后,尤其是软连接成功后,yum就会废,因为yum不兼容2.7,这里就把yum关联到2.6上,因为2.6还在。
vi /usr/bin/yum
将文件头部的 # !/usr/bin/python
改成 # !/usr/bin/python2.6.6 # 我的又是2.6,fuck!
现在再试试yum指令,应该可以用了!
pip依然还关联在2.6上,要建立软连接,不然装的包都到了2.6上了。
先安装setup_tool:
wget --no-check-certificate https://pypi.python.org/packages/source/s/setuptools/setuptools-1.4.2.tar.gz
tar -xvf setuptools-1.4.2.tar.gz
cd setuptools-1.4.2
python2.7 setup.py install
之后安装pip:
wget --no-check-certificate https://pypi.python.org/packages/source/p/pip/pip-6.0.7.tar.gz
tar zxvf pip-6.0.7.tar.gz
cd pip-6.0.7
python setup.py install
安装完成之后,执行如下命令:
如果这样安装中间报错:
Traceback (most recent call last):
File "/usr/bin/pip", line 5, in <module>
from pkg_resources import load_entry_point
File "build/bdist.linux-x86_64/egg/pkg_resources.py", line 2797, in <module>
File "build/bdist.linux-x86_64/egg/pkg_resources.py", line 576, in resolve
pkg_resources.DistributionNotFound: pip==7.1.0
就安装:
easy_install pip==7.1.0
这样都做完后,由于我要使用到lxml,结果又半天装不上去,最后发现使用easy_install lxml,最方便了。安装过程中间可能会有卡住,耐心等重试,会好的!
若有问题欢迎留言!