2014-10-28 68 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。