【问题标题】:Using Python 3.1 and 2.5 together一起使用 Python 3.1 和 2.5
【发布时间】:2011-08-28 11:39:01
【问题描述】:
我目前正在为我的编程课做最后的项目。我们用 Python 3.1 编写它,而我正在做 GUI。我的团队负责人希望在 3.1 中完成整个项目,但大多数 pyGame 插件(如 pyConsole)都给我带来了兼容性问题。
所以,我的问题是,我可以在 2.5 中编写我的前端,然后将它连接到用 3.1 编写的引擎吗?感谢您的帮助!
【问题讨论】:
标签:
python
python-3.x
pygame
【解决方案1】:
说实话,这可能比它的价值更麻烦。
最好的办法是聚在一起列出你们想要使用的插件以及它们是否与 3.1 兼容。然后决定你是否可以在没有不相容的情况下生活。如果不能,请在 2.5 中进行项目,否则请使用 3.1 并为您无法使用的插件制定“B 计划”。
如果你小心的话,以后当这些插件添加对 3.x 的支持时,你可以相对轻松地从 2 切换到 3。
如果这是一个您计划长期从事的项目(即不仅仅是一个课堂项目),我可能会说选择 3 并尝试自己移植一些插件。但是对于一个班级的期末项目来说,这可能不值得。
【解决方案2】:
简答NO.
更长的答案。您可以使用 Python 2.5 编写前端,使用 3.0 编写后端,但它们根本无法交互。您需要在它们之间建立某种抽象层。做这样的事情你可以在另一边有任何语言。
抽象层需要将作业拉到它们上并推回某种队列。这只是一个愚蠢的例子,当你经过时会变得非常复杂。最后抽象层可能会变得比你的应用程序更复杂,假设它是一个类的工作。
我会听 Jeremiah 的话并与教授讨论您使用 Python 2.5 或 3.0 的优点和缺点。如果你在你的期末论文中解释你选择一个而不是另一个的原因,我相信你会得到一些额外的分数,而且他几乎不会因此而惩罚你。