python不同版本_01.01.04 使用不同版本的Python

01.01.04 使用不同版本的Python

Python的版本现在分成2.X和3.X两个分支并行开发。因此,使用Python开发项目时,同样会遇到使用不同的Python版本进行开发的情况。下面我们就如何在同一个操作系统下,使用不同版本的Python分别开发各自的应用程序这一话题进行阐述。

Ubuntu 11.10上默认安装的Python版本是2.7.2。下面我们来安装以下三个不同版本的Python。

Python 3.2

Python 2.6

Python 2.5

Python 3.X并没有在开发项目中大量使用,我们为了接触一下***的Python,可以先安装一下。Python在Ubuntu 11.10上的安装方法有很多,具有代表性的安装方法有下面几种:

通过Ubuntu官方的apt工具包安装

通过PPA(Personal Package Archive)的apt工具包安装

通过编译Python源代码安装

通过Ubuntu官方包安装一般来说最可靠也最简单。作者在执笔时,可以通过它来安装Python 3.2和Python 2.6。

通过Ubuntu官方的apt工具包安装

$ sudo aptitude install python3.2

$ sudo aptitude install python2.6

安装完成之后,可以用下面的命令进行确认 。

Python版本的确认

$ python3.2 -V

Python 3.2.2

$ python2.6 -V

Python 2.6.7

安装的各种各样Python版本均在/usr/bin目录下以带有版本信息的文件名存放。另外,在安装Python 2.5时,输入命令sudo aptitude install python2.5时,会提示无法安装。这是因为在Ubuntu 11.10中,Python 2.5没有被官方apt包放入推荐安装的软件列表中。

遇到Python 2.5这样的老版本软件难以在官方apt资源中找到的情况,我们可以考虑利用PPA(Personal Package Archives)这一由自愿者编译的apt资源站点。由于PPA是自愿者自发支持的资源站点,在使用中往往会有些不兼容的问题存在,所以在使用PPA的资源包时,需要使用者自己承担责任,这一点需要格外慎重。

接下来我们介绍一下从PPA安装Python 2.5的方法。

$ sudo aptitude install python-software-properties

$ sudo add-apt-repository ppa:fkrull/deadsnakes

$ sudo aptitude update

$ sudo aptitude install python2.5

类似使用apt工具包安装Python的工具虽然简单,但有时不一定能够安装到***版本。因此,在Python出现重要更新时,我们***学会从源代码直接编译安装。

既然apt官方网站没有推荐Python 2.5,我们就从源代码直接编译安装Python 2.5。首先从下面的URL地址下载Python 2.5的***版本。

从源代码编译安装Python没有特别难的地方,按照下面的顺序,使用make命令即可(下面的步骤还包括了使用wget命令下载源代码的过程)。

从源代码编译安装Python

$ wget http://www.python.org/ftp/python/2.5.6/Python-2.5.6.tgz

$ tar -xvzf Python-2.5.6.tgz

$ cd Python-2.5.6

$LDFLAGS="-L/usr/lib/x86_64-linux-gnu"./configure

$ make

$ sudo make install

安装完成后,可以确认一下Python 2.5是否安装在了/usr/local/bin目录下。与此同时,我们也会发现默认的Python版本变成了Python 2.5.6。这是因为操作系统在搜索命令时,是按照PATH环境变量的顺序依次进行搜索的,/usr/local/bin下的Python会比/usr/bin下的Python优先搜索到,并作为默认的Python版本。

Python的有些模块和apt安装的某些工具包有着依赖关系,如果没有事先安装这些工具包就使用这些模块的话,会发生import错误。

这时我们就需要将那些工具包重新使用apt安装,尤其是下载源代码编译安装之后,才能继续使用Python某些模块。下面的表格介绍了一些只有安装了apt对应工具包之后才能使用的Python模块。Python的模块

apt的工具包

zlib

zlib1g-dev

sqlite3

libsqlite3-dev

readline

libreadline6-dev

gdbm

libgdbm-dev

bz2

libbz2-dev

Tkinter

tk-dev

Python 2.5安装确认

#环境变量PATH搜索顺序从左往右开始。

$ echo $PATH

/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games

# /usr/local/bin/python的执行结果。

$ python -V

Python 2.5.6

# 使用which命令查看实际的路径。

$ which python

/usr/local/bin/python

# 指定路径的话,会发现执行的是Python 2.7.2+。

$ /usr/bin/python -V

Python 2.7.2+

使用不同版本Python的方法

最简单的方法是使用virtualenv,建立虚拟运行环境,并在命令行中指出Python的版本信息。

virtualenv执行时指定Python版本

$ mkvirtualenv--python=/usr/bin/python2.7 newenv2

将想要使用的Python的路径信息放入上面命令,就可以指定在虚拟环境中使用的Python版本。

确认虚拟环境的Python版本

(newenv2)$ python -V

Python 2.7.2+

如果无法使用virtualenv,可以使用诸如python2.7这类带有版本信息的Python命令,也可以借助软连接将Python命令重定向到某个特定版本。

另外需要注意的是,如果使用源代码编译安装,/usr/local/bin下面的python和python-config会变成默认的Python。

【责任编辑:book TEL:(010)68476606】

点赞 0

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值