2015/06/18(木) [n年前の日記]
#2 [python] IronPythonをインストール
IronPython は、.NET Framework を Python から呼べるようにした Python。という認識でいいのかな。C# で実装されてるから .NETアプリ (.exe) に変換できるんだぜ、てな話を見かけて興味が湧いたので少し触ってみようかと。
_IronPython - Home から IronPython-2.7.5.msi をDLして実行してインストール。今回は C:\Python\IronPython2.7\ にインストールした。パスに空白が入ってると後で面倒臭いので、空白は省いた場所にインストールしておく。
Visual Studio の設定を変更。IronPython 2.7 を使うようにする。この設定変更は、Visual Studio を再起動しないと反映されないっぽい。
_C#のコードを参考にしてみよう をコピペして実行してみたら、ウインドウが表示された。たしかに、.NET が使われることで Form が表示されてるっぽい。
_IronPython - Home から IronPython-2.7.5.msi をDLして実行してインストール。今回は C:\Python\IronPython2.7\ にインストールした。パスに空白が入ってると後で面倒臭いので、空白は省いた場所にインストールしておく。
Visual Studio の設定を変更。IronPython 2.7 を使うようにする。この設定変更は、Visual Studio を再起動しないと反映されないっぽい。
_C#のコードを参考にしてみよう をコピペして実行してみたら、ウインドウが表示された。たしかに、.NET が使われることで Form が表示されてるっぽい。
◎ IronPython用のPythonスクリプトをexe化。 :
2015/06/18現在は、IronPython に同梱されてる pyc.py を使えばexe化できる。exe化する際の指定は以下。
試してみた。自分の環境では、C:\Python\IronPython2.7\ に IronPython をインストールしてある。
exe を実行したら、フォームが表示された。たしかに、exe化できたっぽい。
2つのファイルサイズを合わせても15KB。これがもし、Ruby + Ocra で exe化した日には、ファイルサイズは大きいわ、起動は遅いわで…。それと比べると、LLで書いてあるのに、このサイズの exe になるのはありがたい、かもしれない。 *1
でも、ぶっちゃけ、Windowsアプリを簡単に作りたいなら、それこそ C# あたりで書いちゃうほうがいいよな…。
とは言え、選択肢が色々あるのはいいことだなと。これが Ruby だったら、Windows用のGUIアプリを書こうとしても選択肢が無いし…。 *2 Python はまだ恵まれてるほうなのかしらん。
ipy.exe IronPythonインストール場所\Tools\Scripts\pyc.py /target:exe /main:hoge.py hoge.py
- コンソールアプリにしたい場合は、/target:exe を指定。
- GUIアプリにしたい場合は、/target:winexe を指定。
試してみた。自分の環境では、C:\Python\IronPython2.7\ に IronPython をインストールしてある。
> C:\Python\IronPython2.7\ipy.exe C:\Python\IronPython2.7\Tools\Scripts\pyc.py /target:winexe /main:PythonApplicationTest01.py PythonApplicationTest01.py
Input Files: PythonApplicationTest01.py Output: PythonApplicationTest01 Target: WindowApplication Platform: ILOnly Machine: I386 Threading: STA Compiling... Saved to PythonApplicationTest01これで、以下の2つのファイルが出来上がった。
PythonApplicationTest01.dll PythonApplicationTest01.exe
exe を実行したら、フォームが表示された。たしかに、exe化できたっぽい。
2つのファイルサイズを合わせても15KB。これがもし、Ruby + Ocra で exe化した日には、ファイルサイズは大きいわ、起動は遅いわで…。それと比べると、LLで書いてあるのに、このサイズの exe になるのはありがたい、かもしれない。 *1
でも、ぶっちゃけ、Windowsアプリを簡単に作りたいなら、それこそ C# あたりで書いちゃうほうがいいよな…。
とは言え、選択肢が色々あるのはいいことだなと。これが Ruby だったら、Windows用のGUIアプリを書こうとしても選択肢が無いし…。 *2 Python はまだ恵まれてるほうなのかしらん。
◎ さすがにTkinterは動かないらしい。 :
IronPython で Tkinter は使えないのかなとググってみたけど、英語フォーラムで「動くわけねえだろ」てなやり取りが。まあ、.NET 使おうぜ、ってことですわな。せっかく .NET用に作ったんだし。でもそれだと、Windows専用アプリになるよなあ…。
*NIX や Mac でも動く Python + GUI となると…。やっぱり Python 2.7 + Tkinter でやれないか、ひとまず検討してみたほうがいいのかな。
*NIX や Mac でも動く Python + GUI となると…。やっぱり Python 2.7 + Tkinter でやれないか、ひとまず検討してみたほうがいいのかな。
[ ツッコむ ]
以上です。