1.下载源代码
http://www.python.org/ftp/python/2.7.3/Python-2.7.3.tar.bz2
2.安装
安装目录一般为/usr/local/,进入该目录
①解压安装文件
Java代码
-
$ tar –jxvf Python-2.7.3.tar.bz2
②进入解压后的目录
Java代码
-
$ cd Python-2.7.3
③执行安装步骤
Java代码
-
$ ./configure
-
$ make
-
$ make install
3. 测试
在命令行下输入python,出现python解释器即表示已经正确安装。
某些系统默认已经装了python但版本是2.4.x;由于版本太低,高版本的命令并不使用,本次安装后在shell中输入
#python
会发现显示结果:
# 2.4.3
Java代码
-
Python 2.4.3 (#1, May 5 2011, 16:39:10)
-
[GCC 4.1.2 20080704 (Red Hat 4.1.2-50)] on linux2
-
Type "help", "copyright", "credits" or "license" for more information.
版本还是2.4.x的,由于python不像java可以设置JAVA_HOME环境变量,因此需要其他方式
解决办法:
Java代码
-
#cd /usr/bin
-
#ll |grep python //查看该目录下python
-
#rm -rf python
-
#ln -s /usr/local/Python-2.7.3/python ./python //建立对应的软链接
-
#python
-
-
# python
-
Python 2.7.3 (default, Aug 20 2012, 15:37:12)
-
[GCC 4.1.2 20080704 (Red Hat 4.1.2-50)] on linux2
-
Type "help", "copyright", "credits" or "license" for more information.
首先下载源tar包
可利用linux自带下载工具wget下载,如下所示:
1 | # wget http://www.python.org/ ftp /python/3.3.0/Python-3.3.0.tgz |
或自己去网上找,这里提供一个最新版的下载链接:http://xiazai.zol.com.cn/detail/33/320958.shtml
多说一句,小编是一名python开发工程师,这里有我自己整理了一套最新的python系统学习教程,包括从基础的python脚本到web开发、爬虫、数据分析、数据可视化、机器学习等。想要这些资料的可以关注小编,也可以加入学习交流群1097572481
这里我用的是第二种方法,下载的是Python-3.1.2.tar.bz2版本,下载完成后到下载目录下,解压
1 | bunzip2 Python-3.1.2.tar.bz2 |
2 |
|
进入解压缩后的文件夹
1 | cd Python-3.1.2 |
在编译前先在/usr/local建一个文件夹python3(作为python的安装路径,以免覆盖老的版本)
1 | mkdir /usr/ local /python3 |
开始编译安装
1 | ./configure --prefix=/usr/ local /python3 |
2 | make |
3 | make install |
此时没有覆盖老版本,再将原来/usr/bin/python链接改为别的名字
1 | mv /usr/bin/python /usr/bin/python_old |
再建立新版本python的链接
1 | ln -s /usr/ local /python3/bin/python3 /usr/bin/python |
这个时候输入
1 | python |
就会显示出python的新版本信息
1 | Python 3.1.2 (r312:79147, Oct 21 2012, 01:03:21)) |
2 | [GCC 3.2.2 20030222 (Red Hat Linux 3.2.2-5)] on linux2 |
3 | Type "help" , "copyright" , "credits" or "license" for more information. |
4 | >>> |
PS:如果不建立新安装路径python3,而是直接默认安装,则安装后的新python应该会覆盖linux下自带的老版本,也有可能不覆盖,具体看安装过程了,这个大家可以自己试验下,当然如果还想保留原来的版本,那么这种方法最好不过了。