mieki256's diary



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でも動かせる、と書いてあるように見える。名前だけは見かけてたけど、それもインストールしてみるか…。

PyPyをインストール。 :

PyPy というのは… Python が爆速になったもの、らしい。よく分からないけど。

とりあえずインストール。環境は 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 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 がある状態に。もうグチャグチャだー。

面倒臭くなったので、全部アンインストールして、もう一度再インストールすることに。モジュールの再インストール作業を考えると、気が重い。

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 以下に、日本語文字列のキーが…。
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 らしくないノリになってるし。サンプルソースを見て萎えた人の気持ちも分かる。

現段階では、ちょっとビミョーなライブラリだなと思えてきたり。でも、もちろん、今後に期待。

GIMP 2.6 がおかしい。 :

Python 2.6.6 をインストールしたはずなので、GIMP 2.6 上で Pythonスクリプトが動くはず、と思ったのだけど、これが動かない。うーん。

以上です。

過去ログ表示

Prev - 2013/12 - Next
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31

カテゴリで表示

検索機能は Namazu for hns で提供されています。(詳細指定/ヘルプ


注意: 現在使用の日記自動生成システムは Version 2.19.6 です。
公開されている日記自動生成システムは Version 2.19.5 です。

Powered by hns-2.19.6, HyperNikkiSystem Project