首先下载源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
(
most
recent
call
last
)
:
File
"/usr/bin/pip"
,
line
5
,
in
<
module
>
from
pkg_resources
import
load_entry_point
ImportError
:
No
module
named
pkg_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
pip
1.4.1
from
/
usr
/
local
/
python
/
lib
/
python2
.
7
/
site
-
packages
/
pip
-
1.4.1
-
py2
.
7.egg
(
python
2.7
)
|
安装生成的所有二进制文件,都是在你的PYTHON_HOME/bin/,因为我的是安装在/usr/local/python/,所以命令都在这里,以后再调用pip要使用绝对路径,或者做链接!
2.7的模块是在以下目录
1
|
/
usr
/
local
/
python
/
lib
/
python2
.
7
/
site
-
packages
/
|