从Python 2.x中调用Python 3.x程序的最佳方法是什么?

我正在写一个Django Web应用程序.截至目前,Django does not support Python 3.出于我的Web应用程序的目的,并且没有深入细节,我基本上需要使用一些仅支持Python 3的库.我只想说经过深入研究后没有2.x替代方案找到.

所以我的问题是:我该怎么做呢?

我在我的服务器上安装了Python 2和3,并且编写了Python 3代码并等待调用.我正在考虑简单地使用subprocess模块,从命令行有效地调用Python 3,但问题是,这是最好的方法还是我可以在这里使用最佳实践?使用子进程对我来说似乎非常hackish.不要误会我的意思,我很讨厌hackish,我只是想确保没有其他我应该做的事情.

最佳答案
由于Python 3和Python 2解释器是完全独立的可执行文件,并且在系统上安装了单独的库,因此使用子进程从另一个中调用一个是最佳实践.这根本不是黑客攻击.有许多方法可以在它们之间传递数据,但是这两个解释器应该作为单独的进程运行.

也就是说,您可能需要记住与启动解释器进程相关的启动时间.这又回到了如何在两个进程之间传递数据.如果你的Python 2代码经常调用Python 3例程,你可能需要将Python 3程序构建为守护进程.但是你仍然会使用子进程来启动它.

转载注明原文:从Python 2.x中调用Python 3.x程序的最佳方法是什么? - 代码日志