通常 python 升级后,会带来一系列的出错信息,例如缺少pip、zlib、setuptools等,虽然你已经把python升级到了2.7版本,但是使用的依赖、模块还是旧的,所以要在新的 python 中重新安装。
1.python2.7.12的下载&安装&配置
下载
链接:https://www.python.org/downloads/release/python-2712/
代码包: Python-2.7.12.tgz
安装
解压缩,进入目录: cd Python-2.7.12
安装: ./configure
make all
make install
make clean
make distclean
配置
因为系统默认是使用/usr/bin/python,而它之前对应的是python2.6.6,而新的python2.7.12是安装在/usr/local/bin下面,需要重新进行配置:
删除原有: rm /url/bin/python
生成新的软连接:ln -s /usr/local/bin/python2.7 /usr/bin/python
另外,由于yum的依赖是python2.6,需要修改yum文件
/usr/bin/yum中修改 #!/usr/bin/python2.6
pip安装
1.下载pip安装包
wget https://pypi.python.org/packages/source/p/pip/pip-1.3.1.tar.gz --no-check-certificate
由于下载pip是基于https协议的,故需要在wget url后面加上 --no-check-certificate
,否则不能下载
2.解压安装
tar -xzvf pip-1.3.1.tar.gz
cd pip-1.3.1
python setup.py install
ERROR: “ImportError: No module named setuptools”
报错提示我们由于没有安装setuptools,使pip安装失败,所以现在先要安装 setuptools
setuptools安装
1.下载setuptools安装包
wget http://pypi.python.org/packages/source/s/setuptools/setuptools-0.6c11.tar.gz
2.解压安装
tar zxf setuptools-0.6c11.tar.gz
cd setuptools-0.6c11/
python setup.py build
python setup.py install
ERROR: “zipimport.ZipImportError: can’t decompress data; zlib not available”
或者 “Compression requires the (missing) zlib module”
好吧又再次报错,看来是缺少 zlib 依赖包,只能重新编译安装python了,不过在编译之前先修改Modules/Setup文件
解决方法:
- # yum install zlib
- # yum install zlib-devel
- 下载成功后,进入python2.7的目录,重新执行
- #make
- #make install
- 此时先前执行的 软连接仍旧生效
- 然后进入 setuptool目录,
- [root@localhost setuptools-5.2]# python setup.py install 重新安装
最后
回到 pip 安装包里执行 python setup.py install
完成 pip 的安装
########################setuptools升级##############
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple setuptools-0.6c11
######################pip 升级####################
[root@master src]# pip -V
pip 1.3.1 from /usr/local/lib/python2.7/site-packages/pip-1.3.1-py2.7.egg (python 2.7)
升级后:
[root@master src]# pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pip==9.0.1
[root@master src]# pip -V
pip 9.0.1 from /usr/local/lib/python2.7/site-packages (python 2.7)
python -m pip install -U pip setuptools 一条命令搞定,先安装setuptools,后安装pip
让PIP源使用国内镜像,提升下载速度和安装成功率。
对于Python开发用户来讲,PIP安装软件包是家常便饭。但国外的源下载速度实在太慢,浪费时间。而且经常出现下载后安装出错问题。所以把PIP安装源替换成国内镜像,可以大幅提升下载速度,还可以提高安装成功率。
国内源:
新版ubuntu要求使用https源,要注意。
清华:https://pypi.tuna.tsinghua.edu.cn/simple
阿里云:http://mirrors.aliyun.com/pypi/simple/
中国科技大学 https://pypi.mirrors.ustc.edu.cn/simple/
华中理工大学:http://pypi.hustunique.com/
山东理工大学:http://pypi.sdutlinux.org/
豆瓣:http://pypi.douban.com/simple/
临时使用:
可以在使用pip的时候加参数-i https://pypi.tuna.tsinghua.edu.cn/simple
例如:pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pyspider,这样就会从清华这边的镜像去安装pyspider库。
永久修改,一劳永逸:
Linux下,修改 ~/.pip/pip.conf (没有就创建一个文件夹及文件。文件夹要加“.”,表示是隐藏文件夹)
内容如下:
[global] index-url = https://pypi.tuna.tsinghua.edu.cn/simple
[install] trusted-host=mirrors.aliyun.com
windows下,直接在user目录中创建一个pip目录,如:C:Usersxxpip,新建文件pip.ini。内容同上。
###########################################################
【python】python版本升级,从2.6.6升级到2.7.13
centos6.5系统自带了2.6.6版本的python,有时候为了项目上的需要,需要将python版本升级到2.7.13,下面介绍了如何进行升级。
说明:python从2.6升级到2.7会引发很多问题,很多依赖python2.6的软件不能运行,需要一个个的修改配置文件(比如本文提到的yum问题),感觉升级2.7像是埋了一个雷,没准哪天用到什么软件发现不能运行。个人感觉,除非有特别的必要,要不然还是别升级了。
1,从官网下载最新版本的python
https://www.python.org/ftp/python/2.7.13/Python-2.7.13.tgz
2,放在任意目录,比如/root下,解压
3,安装readline和readline-devel,如果不安装的话,升级之后的2.7版本python在命令行按删除,上下左右移动的时候是特殊字符,用起来很不方便。
yum install -y readline readline-devel
4,更改setup文件
vim /root/Python-2.7.13/Modules/Setup
将166行
readline readline.c -lreadline -ltermcap
前面的#号去掉,保存退出。
5,编译python2.7
在/root/Python-2.7.13/目录下运行
./configure --prefix=/usr/local/python2.7
6,安装
编译通过以后,执行
make && make install
8,后续工作
此时执行python --version看版本还是2.6.6,进行如下操作
将2.6.6版本python备份:
mv /usr/bin/python /usr/bin/python-old
将2.7.13版本python连接到这个目录下
ln -s /usr/local/python2.7/bin/python /usr/bin
此时再执行python --version即可看到已经是最新版的python了。
9,yum处理,这么操作以后,yum就不能用了,因为yum用的还是老版本的python,可以通过下面的方式解决。
vim /usr/bin/yum
将第一行的python位置改成2.6.6版本python位置
即将
#!/usr/bin/python
改为
#!/usr/bin/python-old
此时再测试,yum也正常了。
10,至此,python2.7升级完成。