在同一台机器上同时运行python 2.6和3.1

在同一台机器上同时运行python 2.6和3.1,python,linux,python-3.x,Python,Linux,Python 3.x,我目前正在家里玩弄python,并计划切换到python 3.1。事实上,我有一些使用Python2.6的脚本,我无法转换它们,因为它们使用Python3.1ATM不可用的模块。因此,我正在考虑在我的Python2.6中安装Python3.1。我在互联网上只发现有人通过从源代码编译python并使用makealtinstall而不是经典的makeinstall来实现这一点。无论如何,我认为从源代码编译有点复杂。我认为在linux上运行两个不同版本的程序很容易(我运行Fedora11是为了记录在案

我目前正在家里玩弄python,并计划切换到python 3.1。事实上,我有一些使用Python2.6的脚本,我无法转换它们,因为它们使用Python3.1ATM不可用的模块。因此,我正在考虑在我的Python2.6中安装Python3.1。我在互联网上只发现有人通过从源代码编译python并使用
makealtinstall
而不是经典的
makeinstall
来实现这一点。无论如何,我认为从源代码编译有点复杂。我认为在linux上运行两个不同版本的程序很容易(我运行Fedora11是为了记录在案)。有什么提示吗


谢谢阅读。

您不需要将它们一起运行

2.6已经具备了3.0的所有功能。您可以使用
from\uuuuu future\uuuu import
语句启用这些功能


运行2.6(从uuu future uuuu import导入一些
),直到您需要的所有内容都在3.x中,然后切换,这要简单得多。

下载您想要的python版本作为替代,将其解压,在配置它时,使用--prefix=/my/alt/dir

干杯

Nik
在我的Linux系统(UbuntuJaunty)上,我安装了Python 2.5、2.6和3.0,只需使用apt get安装二进制(deb)包'python2.5''python2.6''python3.0'。也许Fedora会以类似的方式将它们打包并命名为RPM

我只需键入python2.6
就可以从命令行运行所需的程序。因此,我还可以在脚本顶部指定我想要的脚本,例如:

#!/usr/bin/python2.6

为什么您需要使用
makeinstall
?完成编译Python3.x的
make
之后,只需将python文件夹移到某个地方,并在
~/bin
目录中创建指向python可执行文件的符号链接。如果尚未将该目录添加到您的路径中,那么您将有一个可用的python开发版本。只要符号链接本身没有命名为python(我将我的命名为py),您就永远不会遇到任何冲突

另一个好处是,如果您想更改到新的Python3.x版本,例如,如果您正在关注beta版,只需下载、编译并用新的文件夹替换该文件夹


它有点凌乱,但凌乱仅限于一个目录,我发现它比考虑Altinstall等更方便。

我知道将来会有“从某个地方导入”功能,但我真的很想使用python 3.x,因为作为一个爱好者,我完成一个项目所需的时间非常长。我敢打赌,当我结束我的项目时,Python3.x将得到更广泛的应用。无论如何,感谢您的回答:)从未来导入功能是免费的。没有一个它不会增加开发软件所需的时间。你不需要同时做两件事。只要使用2.6并迁移到3.0(a)您所依赖的一切都已迁移,并且(b)用户需要“纯3.x”版本。在那之前,使用2.6从未来开始,你可以专注于项目而不是基础设施。谢谢你的回答。它确认了我必须自己编译python,并且几乎成功地完成了编译(一些模块像tkinter一样消失了)。我最终使用了make altinstall,这是python 3.1源代码自述文件推荐的版本。Fedora还没有为python3.1提出rmp,我也不知道如何构建一个rmp(它看起来相当复杂),所以我只是手工编译了它。谢谢大家:)我更喜欢使用make(alt)安装,因为我不喜欢随时随地制作simlink。但这肯定会像make altinstall那样奏效。感谢您只需要一个符号链接,就可以连接到实际的python可执行文件。当我重新考虑发行版的选择时,我会记住这个事实:)