首先下载源tar包
可利用linux自带下载工具wget下载,如下所示:
下载完成后到下载目录下,解压
1
tar -zxvf Python-2.7.3.tgz
2
进入解压缩后的文件夹
1
cd Python-2.7.3
在编译前先在/usr/local建一个文件夹python27(作为python的安装路径,以免覆盖老的版本)
1
mkdir /usr/local/python27
在解压缩后的目录下编译安装
1
./configure --prefix=/usr/local/python27
2
make
3
make install
此时没有覆盖老版本,再将原来/usr/bin/python链接改为别的名字
1
mv /usr/bin/python /usr/bin/python_old
再建立新版本python的链接
1
ln -s /usr/local/python27/bin/python2.7 /usr/bin/python
这个时候输入
1
python
就会显示出python的新版本信息
1
Python 2.7.3 (default, Sep 29 2013, 11:05:02)
2
[GCC 4.1.2 20080704 (Red Hat 4.1.2-54)] on linux2
3
Type"help","copyright","credits" or"license" for more information.
4
>>>
附:
升级Python2.7导致使用pip等命令安装模块失败
报错如下:
1
2
3
4
5
# pip
Traceback(mostrecentcalllast):
File"/usr/bin/pip",line5,in
frompkg_resourcesimportload_entry_point
ImportError:Nomodulenamedpkg_resources
其实发生这个问题是因为:虽然你已经把Python升级到了2.7版本,但是pip仍然是原来的,版本,仍然在原来python的site-package里面
CentOS5环境下,默认是python2.4,site-package在
1
/usr/lib/python2.4/site-packages/
很多模块都被安装在这里。直接打pip,还是使用的原来的pip。所以我们的思路就是:应该在新的Python中安装pip,这样才不会报错。
这个问题遇到的人很多,但是解决的太少了,网上都是抄来抄去,都解决不了问题。最后还是在一外个国人的网站上找到了解决方案:
1
2
# curl -O http://python-distribute.org/distribute_setup.py
# /usr/local/pyton2.7/bin/python distribute_setup.py
使用新版本的python来运行这个脚本,这个会自动安装出来一个easy_install,然后使用这个新的easy_install来安装pip就可以了!
1
2
3
# /usr/local/python/bin/easy_install pip
# /usr/local/python/bin/pip -V
pip1.4.1from/usr/local/python/lib/python2.7/site-packages/pip-1.4.1-py2.7.egg(python2.7)
安装生成的所有二进制文件,都是在你的PYTHON_HOME/bin/,因为我的是安装在/usr/local/python/,所以命令都在这里,以后再调用pip要使用绝对路径,或者做链接!
2.7的模块是在以下目录
1
/usr/local/python/lib/python2.7/site-packages/