
792
|
第 26 章 v2/v3 的移轉與共存
準備升級 Python 3
在起始一個共存或轉換專案之前,如果你對這兩個版本的 Python 不是很熟
悉,閱讀 Python 說明文件中的官方指南 Porting Python 2 Code to Python
3(
https://docs.python.org/3/howto/pyporting.html
)會有所幫助。除了其他
事情外,它們的建議與我們對於 v2 的建議相同(也就是,僅支援 Python
2.7
1
)。
請確保你的測試有盡可能完整涵蓋你的專案,如此跨版本間的錯誤才有可
能在測試過程中被挑出。目標至少設為 80% 的測試涵蓋率,超出 90% 的
目標可能很難達成,所以別花太多力氣試圖達到太有野心的標準(雖然前
面「單元測試和系統測試」中提過的
mocks
能夠幫助你提升單元測試的涵
蓋廣度,可能沒辦法增加深度就是了)。
你可以半自動化地更新你的 v2 源碼庫(codebase),使用 Python 2 的
2to3
工具,或以它為基礎的
modernize
(
http://python-modernize.readthedocs.io/
en/latest/
)或
futurize
(
http://python-future.org/overview.html#automatic-
conversion-to-py2-3-compatible-code
)套件(前面提過的移植指南對於如何
在後面兩者間挑選提供了很好的建議,我們會在後面「使用單一源碼樹
的