【问题标题】:Running both python 2.6 and 3.1 on the same machine在同一台机器上同时运行 python 2.6 和 3.1
【发布时间】:2010-11-08 03:15:37
【问题描述】:

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

感谢阅读。

【问题讨论】:

  • 我最终使用了 python 3.1 源自述文件推荐的 make altinstall。 Fedora 还没有为 python3.1 提供 rmp,而且我不知道如何构建一个(而且看起来很复杂),所以我只是手动编译了它。谢谢大家:)

标签: python linux python-3.x


【解决方案1】:

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

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

#!/usr/bin/python2.6

【讨论】:

  • Fedora 存储库目前没有软件包。当我重新考虑我的发行版选择时,我会记住这个事实:)
【解决方案2】:

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

干杯

Nik

【讨论】:

  • 感谢您的回答。它确认我必须自己编译 python,并且几乎成功地完成了(有些模块像 tkinter 一样)。
【解决方案3】:

你不应该需要一起运行它们。

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

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

【讨论】:

  • 我知道 from future import somefeature 但我真的很想使用 python 3.x,因为作为一个业余爱好者,我需要完成一个项目的时间很长.我敢打赌,当我结束我的项目时,python 3.x 将得到更广泛的使用。无论如何,谢谢你的回答:)
  • 从未来导入功能免费。没有。它不会增加开发软件所需的时间。你不需要同时运行两件事。只需使用 2.6 并在 (a) 您所依赖的所有内容都已迁移并且 (b) 用户需要“纯 3.x”版本时迁移到 3.0。在那之前,将 2.6 与 from future 一起使用,您就可以专注于项目而不是基础设施。
【解决方案4】:

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

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

有点杂乱,但杂乱仅限于一个目录,我发现它比考虑altinstalls之类的要方便得多。

【讨论】:

  • 我更喜欢使用 make(alt)install,因为我不喜欢到处制作 simlink。但这肯定会与 make altinstall 方式一样有效。谢谢!
  • 你只需要一个符号链接,指向实际的 python 可执行文件。
猜你喜欢
  • 2010-12-03
  • 1970-01-01
  • 1970-01-01
  • 2015-04-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多