アカウント名:
パスワード:
私もおおよそPython 3.x系へ移行済みなんですが、それでも自分の書いたスクリプトを3.xのインストールされていない環境で実行したいときもあり、3.x用→2.x用へスクリプトを書き直す羽目になってしまいます(^^;)そうしたときは、インタプリタやライブラリ側に大きく手を加えることなく、1つのスクリプトが両方で動くように対処できないものかな、と感じることも。
あまり良いやり方ではないのは承知の上ですが、C言語の#ifdefみたいに条件付きの中間言語コンパイルってのは駄目ですかね?例えば、
#if __PYTHON_VERSION__ < 3 import SimpleHTTPServerdef HTTPServer():
3に2のエミュレータつけるのが一番マシな解決法だと思うなぁ。。。mymodule = py2import("py2_mymodule")みたいなこと、できないのかなぁ。
そんなことすると過去の遺物を今後もずっと引きずらないといけないので、Pythonとしての本来のメリットがなくなってしまうのですよなので2.8の話もなかったことにして2.x系は今のままで終わり、あとは3以降にお任せが一番ベストな流れだと思いますよ
# とはいえ3.x系は慣れないため未だに2.x系のコーディングで書いてますがね…# 標準ライブラリのHTTPServer周りをもっと作り込んで貰いたいところです…
それは分かるのですがhttp://python3wos.appspot.com/ [appspot.com]を見ていると、3.xへの完全移行はなかなか先が長そうです。
その間にも、3.x非対応ライブラリを使うために2.xの新規コードがかかれるであろうことを考えると2.xライブラリをしばらくは使いまわせないものかと……
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
Stay hungry, Stay foolish. -- Steven Paul Jobs
1つのスクリプトが両方で動くように…… (スコア:2)
私もおおよそPython 3.x系へ移行済みなんですが、それでも自分の書いたスクリプトを3.xのインストールされていない環境で実行したいときもあり、3.x用→2.x用へスクリプトを書き直す羽目になってしまいます(^^;)
そうしたときは、インタプリタやライブラリ側に大きく手を加えることなく、1つのスクリプトが両方で動くように対処できないものかな、と感じることも。
あまり良いやり方ではないのは承知の上ですが、C言語の#ifdefみたいに条件付きの中間言語コンパイルってのは駄目ですかね?
例えば、
Re: (スコア:2)
3に2のエミュレータつけるのが一番マシな解決法だと思うなぁ。。。
mymodule = py2import("py2_mymodule")
みたいなこと、できないのかなぁ。
1を聞いて0を知れ!
Re:1つのスクリプトが両方で動くように…… (スコア:1)
そんなことすると過去の遺物を今後もずっと引きずらないといけないので、Pythonとしての本来のメリットがなくなってしまうのですよ
なので2.8の話もなかったことにして2.x系は今のままで終わり、あとは3以降にお任せが一番ベストな流れだと思いますよ
# とはいえ3.x系は慣れないため未だに2.x系のコーディングで書いてますがね…
# 標準ライブラリのHTTPServer周りをもっと作り込んで貰いたいところです…
Re:1つのスクリプトが両方で動くように…… (スコア:1)
それは分かるのですが
http://python3wos.appspot.com/ [appspot.com]
を見ていると、3.xへの完全移行はなかなか先が長そうです。
その間にも、3.x非対応ライブラリを使うために2.xの新規コードがかかれるであろうことを考えると
2.xライブラリをしばらくは使いまわせないものかと……
1を聞いて0を知れ!