最近かなり本気で Python のプログラムを書いている. そこでわかったのは,Python 2 と 3 とのあいだには互換性がなくて,よのなかには Python 2 しかつかえない環境やプログラムもすくなくないし,逆に Python 3 しかつかえない環境もあるということだ. 2to3 というプログラムがそのはしわたしをしてくれるはずだが,これはやくにたたない. だから,この非互換性はおおきな問題だ.
2to3 をつかえば Python 2 のプログラムを Python 3 に変換できるから,手で変換しないほうがよいと書いてあったりする. ところが,まず Python 2 しかインストールされていない Macintosh 上で 2to3 をつかうと,Python 3 ではエラーがでて実行できないプログラムなのに変換の必要はないといわれる. Python 3.3 をインストールして,その 2to3 にかけてみると,print に関しては ( … ) がつくので,そこはエラーがでないようになる. しかし,低水準 I/O に関しては差異が検出されない. だから 2to3 は私にとってはつかえないプログラムだ. 手で変換するしかない.
キーワード: