2009-07-04 96 views
1

我目前在家里用python玩,我打算切换到python 3.1。事实是,我有一些使用python 2.6的脚本,我无法转换它们,因为它们使用了一些不可用于python 3.1 atm的模块。所以我正在考虑沿着我的python 2.6安装python 3.1。我只找到互联网上的人,通过从源代码编译Python并使用make altinstall而不是传统的make install来实现这一点。无论如何,我认为从源代码编译有点复杂。我认为在Linux上运行两个不同版本的程序很容易(我运行的是Fedora 11的记录)。任何提示?在同一台机器上同时运行python 2.6和3.1

感谢您的阅读。

+0

我finnaly使用make altinstall这是由Python 3.1源自述文件推荐的。 Fedora不会为python3.1提出rmp,但我不知道如何构建它(这看起来很复杂),所以我只是手工编译它。感谢所有:) – thomas 2009-07-09 14:00:10

回答

3

在我Linux系统(Ubuntu的贾蒂),我的Python 2.5,2.6和3.0安装,只需通过安装二进制(DEB)封装'的python2.5''python2.6的''python3.0'使用apt-get的。也许Fedora将它们打包并以类似的方式将它们命名为RPM。

我只需要通过输入命令行就可以运行我需要的命令行。 python2.6。所以,我也可以指定一个我想我的脚本的顶部,通过把例如为:

#!/usr/bin/python2.6 
+0

Fedora存储库现在还没有包。我会记住这个事实,当我将重新考虑我的发行版选择:) – thomas 2009-07-09 14:02:43

1

你不需要一起运行它们。

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

运行2.6(有一些from __future__ import)要简单得多,直到你需要的所有内容都在3.x中,然后切换。

+0

我知道从__future__导入somefeature,但我真的想使用python 3.x,因为作为一个业余爱好者,我需要完成一个项目的时间是巨大的。我敢打赌,当我结束我的项目时,python 3.x将被更广泛地使用。 无论如何,感谢您的回答:) – thomas 2009-07-05 13:33:17

+1

从未来的进口功能没有成本。没有。它不会增加开发软件所需的时间。你不需要一次运行两件事。 (a)您所依赖的所有内容都已迁移,并且(b)用户需要“纯3.x”版本,请使用2.6并迁移到3.0。在此之前,从未来使用2.6,你可以专注于项目而不是基础设施。 – 2009-07-05 23:31:24

2

下载你想有作为替代的Python版本,其解压缩,并在您配置时,使用前缀= /我的/ ALT/DIR

干杯

Nik 
+0

感谢您的回答。它证实我必须自己编译python,并且几乎成功地完成了它(有些模块像tkinter一样)。 – thomas 2009-07-05 14:03:36

0

为什么你需要使用make install呢?在完成make编译python 3.x后,只需将python文件夹移动到某处,然后在~/bin目录中创建一个符号链接到python可执行文件。如果该目录尚未存在,请将该目录添加到您的路径中,并且您将有一个可以使用的工作python开发版本。只要符号链接本身没有被命名为python(我已经命名为我的py),你永远不会遇到任何冲突。

一个额外的好处是,如果您想要更改为新版本的python 3.x,例如,如果您正在测试版本,只需下载,编译并替换新文件夹。

它有点凌乱,但混乱局限于一个目录,我觉得它比思考altinstalls等更方便。

相关问题