迁移 Python 2 to 3 的经验帖
本文介绍一个团队将二十多万行的代码库升级到 Python 3 的经验帖。
- Python2 → Six → Python3。2to3 这个库会导致代码坏掉。用 six 写一些兼容两个版本的代码会方便很多。
- Python-modernize 把 py2 仓库转成 six-compatible 的仓库。
- 依赖不太支持 Python3 的,上游不搞,就自己 fork 修一下先支持。
StringIO.StringIO
在 Python3 中需要思考是要用 io.StringIO, io.BytesIO 还是 six.StringIO。- 看上去 Python 3 的支持迟早要做,早晚的问题。