2014-10-28 31 views
0

我发现一些库依赖python2和一些库在python3上工作。 我知道有一个lib可以将代码从python 2移植到python 3.我不确定它是否有更简单的方法使这些库一起工作。 如何使用这些库?非常感谢如何使用python 2和3

编辑:使问题更具体。 我想编写python脚本从perforce复制changelist并将它们提交到git中。所以我想使用GitPython和P4Python。 GitPython只能在Python 2上工作(尽管评估Python 3.3的兼容性是它的当前目标),而P4Python只能在Python 3上工作。

我该如何完成这项工作?

+1

'import'['six'](http://pythonhosted.org/six/) – tripleee 2014-10-28 06:28:23

+2

参见http://stackoverflow.com/questions/11372190/python-2-and-python-3-dual-开发 – tripleee 2014-10-28 06:29:56

+0

感谢很多@tripleee – Jacky 2014-10-28 06:33:24

回答

1

大多数 python2.x项目可以由使用python3的2to3工具通常随您python3.x捆绑安装工作。

正如在评论中指出,如果在开发上都python2.x和python3.x代码可以使用(开箱)有兴趣的第三方软件包six包含了许多有用的工具用于写入向前和向后兼容的代码。它不会帮助你运行别人的代码:-)。

2

有很多工具和技巧将python 2.x移植到python 3.x中,并编写与两个版本兼容的代码。

您将在Python 3文档中找到关于该主题的专用Howto。有些引用的工具:

  • 2to3:从Python2转换成Python3
  • caniusepython3(command-line toolweb app:控制依赖
  • six:低层次项目,以帮助编写2-3兼容的代码
  • modernize :帮助将现有代码移植到六个

最后但并非最不重要__future__在这方面必须的,至少著名:

from __future__ import print_function 

,允许使用从Python3的print()功能Python2

下,但是,如果你想要做的正经事,读取整个HOWTO。