是否可以从Python中的3.x代码调用2.x代码

时间:2013-06-03 21:03:56

标签: python python-2.7 python-3.x

我有用python 2.6编写的代码,它使用(取决于)用python 2.6编写的其他第三方库。这些第三方库很旧,不会在不久的将来转换为python 3.x,或者在某些情况下永远不会转换为python 3.x.我的问题是,是否可以编写可以从2.6代码调用代码(函数)的3.x代码。

ex:编写3.x python代码,可以调用2.6代码,然后调用第三方库并返回结果,如果有任何回溯到3.x代码。

如果您有任何示例或知道这是否可行,或者可以指出我正确的方向,那就太棒了。

感谢您的时间

2 个答案:

答案 0 :(得分:0)

您有几个选择:

  1. 自己移植图书馆 - 这并不像看起来那么难,虽然不理想。
  2. 使用某种IPC来连接python 3.x和2.x安装。
  3. 坚持使用python 2.x
  4. 我建议选项3,因为你确定的原因 - 看起来很多库只能用于2.x.坦率地说,没有任何令人信服的理由可以切换到3.x.

    更新:你有第四个选项,就是使用像PyPi这样的东西来创建一个python可执行文件,它可以同时处理这两种语言的运行。如果这些语言最终会在基本库之间进行分割,那么有人可能会这样做。

答案 1 :(得分:0)

您可以使用透明包装所有呼叫的IPC框架。您可以尝试使用Pyro4,但我不确定它是否会起作用。