2013/12/19(木) [n年前の日記]
#7 [python] PyGameって開発終了してたのか…
_Pygameの後継らしいPySDL2をインストール - ばぐばぐわーるど
を見て、PyGame が開発終了してたことを今頃知ったわけで。
_PySDL2 ってのが後継なのか…。入れてみるか…。
む。Python 2.7 か Python 3.2 以降じゃないと動かん、と書いてあるような。自分の環境は、gimp-python を動かす関係で、Python 2.6 がデフォルトなわけで。困った。
_#84 複数バージョンのPythonをインストールする << Python << a wandering wolf によると、バッチファイルを作成することで、複数のPythonを使い分けることもできなくもないらしい。であれば、試せるかな…。
PySDL2 のドキュメントを読むと、PyPy なるものも必要、というか、PyPyでも動かせる、と書いてあるように見える。名前だけは見かけてたけど、それもインストールしてみるか…。
_PySDL2 ってのが後継なのか…。入れてみるか…。
む。Python 2.7 か Python 3.2 以降じゃないと動かん、と書いてあるような。自分の環境は、gimp-python を動かす関係で、Python 2.6 がデフォルトなわけで。困った。
_#84 複数バージョンのPythonをインストールする << Python << a wandering wolf によると、バッチファイルを作成することで、複数のPythonを使い分けることもできなくもないらしい。であれば、試せるかな…。
PySDL2 のドキュメントを読むと、PyPy なるものも必要、というか、PyPyでも動かせる、と書いてあるように見える。名前だけは見かけてたけど、それもインストールしてみるか…。
◎ PyPyをインストール。 :
PyPy というのは… Python が爆速になったもの、らしい。よく分からないけど。
とりあえずインストール。環境は Windows7 x64。
_PyPy - Download and install から、pypy-2.2.1-win32.zip をDLしてきた。解凍して、任意のフォルダにおいておく。
環境変数PATHが通ってるフォルダの中に、pypy.bat というバッチファイルを作ることにした。中身は以下のような感じ。
_PyPyを試してみた @ Project Euler Problem 92 - matsulibの日記 で紹介されてるスクリプトを実行してみた。
うわ。Python 2.6 だとめちゃくちゃ待たされるのに、PyPy だとあっという間に処理が終わった。これはたしかにスゴイ…。
さておき、次は何をすれば…?
とりあえずインストール。環境は Windows7 x64。
_PyPy - Download and install から、pypy-2.2.1-win32.zip をDLしてきた。解凍して、任意のフォルダにおいておく。
環境変数PATHが通ってるフォルダの中に、pypy.bat というバッチファイルを作ることにした。中身は以下のような感じ。
@echo off C:\pypy\pypy.exe %1 %2 %3 %4 %5 %6 %7 %8 %9とりあえず、DOS窓で、pypy と打ってみた。…なんだか python.exe を実行した時と同じ画面になった。exit() で終了。
_PyPyを試してみた @ Project Euler Problem 92 - matsulibの日記 で紹介されてるスクリプトを実行してみた。
うわ。Python 2.6 だとめちゃくちゃ待たされるのに、PyPy だとあっという間に処理が終わった。これはたしかにスゴイ…。
さておき、次は何をすれば…?
◎ setuptools と pip をインストール。 :
なんだかよく分からないけど、setuptools と pip なるものが必要らしい。
_WindowsにPythonのツール: setuptools(easy_install), pipをインストールする | ユニキャストラボ を参考に作業。 _setuptools 2.0.1 : Python Package Index から、ez_setup.py なるファイルをDLして、
Python 2.6 でやったこの流れを、Python 2.7, 3.2 でも実行。環境変数PATHを書き換えて、その都度行ってみたり。
_WindowsにPythonのツール: setuptools(easy_install), pipをインストールする | ユニキャストラボ を参考に作業。 _setuptools 2.0.1 : Python Package Index から、ez_setup.py なるファイルをDLして、
python ez_setup.pyを実行。なんか色々入った。これが setuptools だか easy_install だかなのだろうか。
easy_install pipを実行。またなんか色々入った。これで pip がインストールされたのかな?
Python 2.6 でやったこの流れを、Python 2.7, 3.2 でも実行。環境変数PATHを書き換えて、その都度行ってみたり。
◎ Python 2.7 と 3.2 をアップデートしたら面倒なことに。 :
Python 2.7 と 3.2 の新しい版があったので、ついでにアップデート。
やっかいなことになった。各Python をインストールしてたフォルダは、シンボリックリンクを使って、Cドライブにあるように見えながら実体はDドライブに置いていたのだけど。インストーラが、フォルダを削除、再作成をしたようで、CとDの両方に Python がある状態に。もうグチャグチャだー。
面倒臭くなったので、全部アンインストールして、もう一度再インストールすることに。モジュールの再インストール作業を考えると、気が重い。
やっかいなことになった。各Python をインストールしてたフォルダは、シンボリックリンクを使って、Cドライブにあるように見えながら実体はDドライブに置いていたのだけど。インストーラが、フォルダを削除、再作成をしたようで、CとDの両方に Python がある状態に。もうグチャグチャだー。
面倒臭くなったので、全部アンインストールして、もう一度再インストールすることに。モジュールの再インストール作業を考えると、気が重い。
◎ ez_setup.pyがエラーを出す。 :
_Issue 9291: mimetypes initialization fails on Windows because of non-Latin characters in registry - Python tracker
に書いてある症状と同じ。
_2013/12/19 Python-2.7.6がWindows環境でmimetypes.init()に失敗する場合がありsetuptoolsがインストールできない話 - 清水川Web に書いてあった状態になってた。レジストリの HKEY_CLASES_ROOT 以下に、日本語文字列のキーが…。
が、しかし、該当キーをバックアップ後削除してみても、やっぱりエラーが出る。うーん。
python-2.7.5.msi を _Python 2.7.5 Release からDLして上書きインストールしてみた。これならエラーが出ない、けど、動作が怪しくなりそうな。モジュールも含めて全てアンインストールして、Python 2.7.5 を再インストールすることに。助けて。
_2013/12/19 Python-2.7.6がWindows環境でmimetypes.init()に失敗する場合がありsetuptoolsがインストールできない話 - 清水川Web に書いてあった状態になってた。レジストリの HKEY_CLASES_ROOT 以下に、日本語文字列のキーが…。
Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROOT\カート] @="カート" [HKEY_CLASSES_ROOT\カート\DefaultIcon] @="C:\\Program Files (x86)\\FUJIFILM\\MyFinePix Studio\\MyFinePixStudio.exe,0" [HKEY_CLASSES_ROOT\カート\shell] [HKEY_CLASSES_ROOT\カート\shell\open] [HKEY_CLASSES_ROOT\カート\shell\open\command] @="C:\\Program Files (x86)\\FUJIFILM\\MyFinePix Studio\\MyFinePixStudio.exe \"%1\""
Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROOT\フォトブックファイル] @="フォトブックファイル" [HKEY_CLASSES_ROOT\フォトブックファイル\DefaultIcon] @="C:\\Program Files (x86)\\FUJIFILM\\MyFinePix Studio\\MyFinePixStudio.exe,0" [HKEY_CLASSES_ROOT\フォトブックファイル\shell] [HKEY_CLASSES_ROOT\フォトブックファイル\shell\open] [HKEY_CLASSES_ROOT\フォトブックファイル\shell\open\command] @="C:\\Program Files (x86)\\FUJIFILM\\MyFinePix Studio\\MyFinePixStudio.exe \"%1\""FUJIFILM製デジカメに付属してきたソフトをインストールしたときに作られてしまったものと思われます。
が、しかし、該当キーをバックアップ後削除してみても、やっぱりエラーが出る。うーん。
python-2.7.5.msi を _Python 2.7.5 Release からDLして上書きインストールしてみた。これならエラーが出ない、けど、動作が怪しくなりそうな。モジュールも含めて全てアンインストールして、Python 2.7.5 を再インストールすることに。助けて。
◎ とりあえず PySDL2 をインストール。 :
PySDL2 も、
_Pygameの後継らしいPySDL2をインストール - ばぐばぐわーるど
を参考に、インストールしてみた。
_Installing PySDL2 ・ PySDL2 0.7.0 documentation によると、SDL2 の他に、SDL2_image、SDL2_mixer、SDL2_ttf、SDL2_gfx もインストールしないといけないらしい。しかし、SDL2_gfx だけは、ソースのみの公開で。Windows用のバイナリは無いのかな…。ググってみても、「この SDL gfx ってバイナリがないぞ…」みたいな話しか出てこなくて。
とりあえず、SDL2_gfx 以外は全部入れてみた。 _Integrating PySDL2 ・ PySDL2 0.7.0 documentation に従って、環境変数 PYSDL2_DLL_PATH に、SDL2 関係の .dll が入ったフォルダを設定しておく。
おお。たしかにサンプルが動いた。と思ったけれど、DOS窓に、「今、ソフトウェアでレンダリングしてるよ」とメッセージが表示されてる。
ソフトウェアでレンダリングするのでは、PyGame と変わらず、描画が遅いのではあるまいか…。設定でどうにかできるのかもしれないけど、デフォルトでソフトウェア描画されてしまう仕様では、他の環境に持っていって動かしたときに、一々設定してもらう羽目になりそう。とは言え、最初からハードウェアを使って描画する設定だと、環境によってはそもそも起動しないとか、OSが落ちるとかありそうだし。
PySDL2 になったことで、ソースの書き方も、全然 Python らしくないノリになってるし。サンプルソースを見て萎えた人の気持ちも分かる。
現段階では、ちょっとビミョーなライブラリだなと思えてきたり。でも、もちろん、今後に期待。
_Installing PySDL2 ・ PySDL2 0.7.0 documentation によると、SDL2 の他に、SDL2_image、SDL2_mixer、SDL2_ttf、SDL2_gfx もインストールしないといけないらしい。しかし、SDL2_gfx だけは、ソースのみの公開で。Windows用のバイナリは無いのかな…。ググってみても、「この SDL gfx ってバイナリがないぞ…」みたいな話しか出てこなくて。
とりあえず、SDL2_gfx 以外は全部入れてみた。 _Integrating PySDL2 ・ PySDL2 0.7.0 documentation に従って、環境変数 PYSDL2_DLL_PATH に、SDL2 関係の .dll が入ったフォルダを設定しておく。
おお。たしかにサンプルが動いた。と思ったけれど、DOS窓に、「今、ソフトウェアでレンダリングしてるよ」とメッセージが表示されてる。
ソフトウェアでレンダリングするのでは、PyGame と変わらず、描画が遅いのではあるまいか…。設定でどうにかできるのかもしれないけど、デフォルトでソフトウェア描画されてしまう仕様では、他の環境に持っていって動かしたときに、一々設定してもらう羽目になりそう。とは言え、最初からハードウェアを使って描画する設定だと、環境によってはそもそも起動しないとか、OSが落ちるとかありそうだし。
PySDL2 になったことで、ソースの書き方も、全然 Python らしくないノリになってるし。サンプルソースを見て萎えた人の気持ちも分かる。
現段階では、ちょっとビミョーなライブラリだなと思えてきたり。でも、もちろん、今後に期待。
◎ GIMP 2.6 がおかしい。 :
Python 2.6.6 をインストールしたはずなので、GIMP 2.6 上で Pythonスクリプトが動くはず、と思ったのだけど、これが動かない。うーん。
[ ツッコむ ]
以上です。