- 18 名前:デフォルトの名無しさん mailto:sage [2009/02/21(土) 02:11:06 ]
- 3.0のdisutilsが2to3に対応してるので、
出来る限りブランチ作らないで済むような配慮はあるみたい。 勿論、それぞれのバージョンでのテストは必要になるけど。 3.0の紹介にあるような変更は自動変換で殆ど2to3で自動変換される。 でも、流石に全部とは言い切れない。細かいところは手作業による修正が必要。 特に面倒だと思った所は文字列周り(repr, encoding)かな。 大きな変更は不要なはずなので、テストさえしっかりと書いてれば(大前提)それほど大変な作業にはならない。 python2.6 -3警告オプションでも、2to3でも補足されない変更は python-porting(ML)にも幾つか挙がってる。 * file -> io.FileIO * doctest内等での文字列の表現。 'foo' -> b'foo' * os.path.walk * etc... 後方互換を残し && 読みやすいコードを心掛けたいなら、多少工夫が必要なケースもあるけど、 リファクタリングする丁度良い機会にもなる。 # 3.0対応ライブラリ一覧 @pypi ttp://pypi.python.org/pypi?:action=browse&c=533&show=all 他のプロジェクトでもtrackerやレポジトリのbranches覗いてみると、patchや3.0移植作業中のものが結構ある。 # djangoの3.0移植の過程のまとめ ttp://wiki.python.org/moin/PortingDjangoTo3k
|

|