IronPythonファースト - インストール偏

IronPythonに挑戦。

【 目次 】

IronPython - Download」よりインストーラーをダウンロード。

IronPythonダウンロードサイト

ダウンロードしたファイルはIronPython-2.7.5.msi

インストーラーを実行。
nextボタンを押下。

インストーラーを実行

著作権に同意のためacceptのチェックボックスにチェックを付けて、nextボタンを押下。

インストーラーを実行

デフォルトの設定のまま、nextボタンを押下。

インストーラー項目の選択

Installボタンを押下。

Installボタンを押下

Install実行中。

Installボタンを押下

しばらくして、インストールが完了。
Finishボタンを押下。

Installボタンを押下

IronPythonを使ってみる。

インストール後、Windowsのスタートメニューをたどって「IronPython 2.7」->「IronPython Console」を実行する事で対話型のpythonを実行できる。
「IronPython Console」の実態はC:\Program Files (x86)\IronPython 2.7\ipy.exe(64ビットWindowsの場合)にあり、 コマンドラインよりipy.exeを実行する事。

下図はConsole2上のNyaos(nyaos - 猫と月で戯れる - 愚鈍人を参照)でipy.exeを実行したところ。

nyosでIronPythonを実行

スクリプトの実行は、コマンドプロンプトよりスクリプトファイルを引数に指定してipy.exeを実行。
ipy.exeのショートカットを作成して、ソースファイルをドラッグ・アンド・ドロップしても良い。

でもGUIアプリスクリプトを実行,コマンドプロンプトを表示させたく無い場合には替わりにipyw.exeで実行。

ipy.exeにはコマンドラインオプションがいろいろあるようで

ipy -?

を実行するといろいろと表示される。

コマンドプロンプトで日本語の表示を確認

以下のスクリプトを使って文字化けしていないかコマンドプロンプトで確認。

test1.py

#coding: UTF-8

print u"あいうえお"

pythonから.NET FrameworkのAPIを使ってみる。

.NET FrameworkのAPI・Console.WriteLineが使えるかどうかを確認。
Consoleクラスを使えるようにするには、Systemをimportする必要がある。

test2.py

#coding: UTF-8
from System import Console

Console.WriteLine(u"あいうえお(Console版)")

実行結果

ipy.exeのインストールデレクトリにPATHを追加して、nyaosで実行してみた。

nyosでIronPythonをテスト

文字化けせずに表示された。
.NET FrameworkのAPIも問題無く使えるようだ。

IronPythonのパッケージ管理

Pythonのパッケージ管理ツールにはsetuptools(ez_setup.py),pip,easy_install等があるが、

これらが、IronPythonで使えるかどうかは試していない。

IronPythonのダウンロードページによると

pip install html5lib

の替わりに

ipy -X:Frames -m pip install html5lib

を実行する事でhtml5libをインストールできそう。

ecliseでIronPython

「Pleiades all in one eclispe」のPyhon版(Python開発環境を整える - 愚鈍人を参照)にIronPythonも実行できるように追加登録。

Eclipseのメニューより、「ウィンドウ」→「設定」を選択
PyDev→インタープリター→IronPython Interpreter

eclipseの設定

新規(W)ボタンを押下して、IronPythonのインタプリタ名とipy.exeの実行ファイルのパスを指定。(図では64bit版を指定)

IronPythonのインタプリタを設定

指定後表示されるダイアログにてすべてをチェック

IronPythonの設定

OKボタン押下にて、無事設定完了。

eclipseの設定完了

IronPythonのプロジェクトを作成して

IronPythonのプロジェクトを作成

前掲のtest1.pyとtest2.pyのプログラムを実行すると、eclipseのコンソール出力にて文字化けが発生。
IronPythonのコンソール出力はコマンドプロンプトで文字化けしないようにshift-jisで出力されるようで、以下の記事を参考に「Pleiades all in one eclispe」のコンソールをutf-8からMS932に変更して解決。

Eclipseのコンソールの文字コード | 言葉の海のプログラマー

Visual StudioとPTVS

ダウンロードページの下の方に「Python Tools for Visual Studio(PTVS)」へのリンクがある。

PTVSって何?

どんな事ができるのかは以下の動画を参照。

▶ VS100-090 VS でも蛇使い! Python Tools for Visual Studio の紹介 - YouTube

なんとIronPythonだけでなくCPythonもVisual Studioで開発できる。
しかも無料。
これは使わない手は無い。

Visual Studio

という事でPTVSを使うために、Visual Studioをインストール。

ところで、Visual Studioにもいろいろあって、どれをインストールしたらいいの。

無償のVisual Studioには、Visual Studio Community 2013Visual Studio Express 2013といのがあって、微妙にライセンス条件が違うみたい。
今後は、Visual Studio Expressが廃止されてVisual Studio Communityのみに。

さらに、Visual Studio Expressは以下の3つに分かれている。

  • Express 2013 for Web
  • Express 2013 for Windows
  • Express 2013 for Windows Desktop

いつもながらMicrosoftのものって、豊富な物量にものをいわせてゴチャゴチャしていて混乱させられる。

「for Web」はWeb開発,「Windows Desktop」はDesktoアプリの開発とわかるんだけど、「for Windows」はWindowsストア・アプリというものを開発できるらしい。
Visual Studio Communityならどれでも開発できるみたい。

Windows8とWindowsストア・アプリ

「Visual Studio Express 2013 for Windows」で開発できる Windowsストア・アプリって何?
こんなのあったっけ?
という事でPythonからわき道にそれて、Windowsストア・アプリについて調べてみた。

どうやら、Windows8でのタブレットUI(ユーザインターフェース)に対応したアプリが開発できるみたい。

Windows Desktopをインストール

Webアプリを開発するわけでもないし、とりあえずライセンスがゆるそうな「Express 2013 for Windows Desktop」をインストールする事にした。

Visual Studio Express 2013 with Update 4 for Windows Desktop よりダウンロードし、インストール。
インストール方法はインストーラーに従っておこなえば良いだけだが、インストールが完了するまでけっこう時間がかかった。

Visual Studioの使い方については

PTVSのインストール

Python Tools for Visual Studio - HomeよりPTVS 2.2 RC VS 2013.msiをダウンロードし、実行。

PTVS & VS2013 を使ってみる。

VS2013(for Windows Desktop)を起動して、新しいプロジェクトを作成してみる。

新しいプロジェクトを作成

プロジェクトの雛形(テンプレート)がいろいろ用意されている。

既にPTVSをインストールしたはずなのに「Python Tools for Visual Studioの入手」なんてのが表示されている。
おかしいなとおもいながらもこのプロジェクトを選択してみるとPTVS_2_1をダウンロード,インストールしようとして挙句のはては、既に 新しいバージョンがインストールされているというメッセージが表示された。
そりゃそうだよ、PTVS_2_2をインストールしてあるんだからという事で、この項目は無視する事にした。

「From Existing Python code」プロジェクト

上から2番目の「From Existing Python code」は既存のPythonのコードを新しく作成したプロジェクトにインクルードしてくるためのもののようで 選択すると以下のダイアログが表示された。

新しいプロジェクトを作成

「Python Application」プロジェクト

3番目の「Python Application」はCpythonのコンソ-ルアプリケーションを作成するためのもののよう。

ソースファイルの文字コード

気をつけなければならないのはPythonソースファイルの文字コード。
デフォルトではShift_JIS(cp932)で保存されるようで、日本語をソースファイルに記述する時にはcodingにShift_JISまたはcp932を指定しないとエラーになってしまう。

codingにShift_JISを指定した例

1
2
3
#coding: Shift_JIS

print(u"あいうえお")

ソースファイルはutf-8で保存したいところであるが、utf-8で保存するためには、ファイルメニューの「保存オプションの詳細設定」や「名前を付けて保存」で指定しなければならないもよう。

ファイルメニューより「名前を付けて保存」で文字コードを指定するには、上書きボタンの右側に表示される下向きの矢印をクリックしてエンコード付きで保存を選択、

eclipseの設定

保存オプションの詳細ダイアログボックスにてutf-8を指定しなければならない。

eclipseの設定

こんな面倒くさい方法をしなくても、もっと簡単にutf-8で保存する方法があるのかも知れないがこれしかわからなかった。

プロジェクトで使うPythonインタププリタの指定

リソリューション・エクスプローラのPython Environmentsを右クリックしてAdd/Remove Python Environmentsを選択すると

Pythonインタププリタの指定1

マシーンにインストールされているPythonが自動認識されていて、 インストールされているPythonの中からプロジェクトで使用するPythonインタープリタを切替える事ができる。
多分Anacondaがインストールされているのであればここで指定する事もできるはず。

このPython EnvironmentsよりvirtualenvのPythonも使えるもよう。

Pythonインタププリタの指定2

「IronPython Application」プロジェクト

新しいプロジェクトを作成で指定するプロジェクトの雛形(テンプレート)の上から4番目の「IronPython Application」はIronPythonのコンソ-ルアプリケーションを作成するためのもので、 前述のリソリューション・エクスプローラのPython EnvironmentsからPythonインタープリタを切替える事ができる事を考えると、 プッロジェクト作成時のデフォルトのPythonインタープリタにIronPythonが選択されたプロジェクトと考えられる。

他にも「IronPython WPF Application」,「IronPython Sliverlight Application」,「IronPython WindowsForm Application」というのがある。

「IronPython WindowsForm Application」プロジェクト

「IronPython WindowsForm Application」というのは、C#やVB.NET等のGUIで使われる事が多いWindowsForm Applicationの雛形のPythonソースコードを勝手に作ってくれる。

なんと、PythonのコードでWindowsFormを記述して、GUIアプリケーションとして表示できる。
さすがに、GUIでFormにコントロールを配置したりできるFormデザイナーの機能は無いが。

下図は、作成された雛形のPythonソースコードを実行してFormを表示させたところ。

IronPython WindowsForm Application

「IronPython WPF Application」プロジェクト

「IronPython WPF Application」プロジェクトはその名のとおりPythonでWPF Applicationを開発するためのもの。
WPFは、前述のWindowsFormに変わってマイクロソフトがGUIアプリケーションの主流にしようとしているもので、 MVCモデルのようにGUIとプログラムロジックを分離させてXMLを使ってVIEWの部分を記述する。
GUIの部分はxmlで記述するためプログラミング言語に依存しないので、こちらの方はVisual StudioのGUIデザイナが使える。
GUIも簡単!

「IronPython Sliverlight Application」プロジェクト

「IronPython Sliverlight Application」はPythonでSliverlight Applicationをつくるためのプロジェクトのようだが、Sliverlightの将来性には疑問があるので私にとって興味は無い。

Sliverlightはなんでも手を出したがるMirosoftがFlush対抗でつくったものでHTML5が出てきたので魅力が無くなったと記憶している。

Python Environments

メニュよりツール-> Python Tools->Python Environmentsを選択するとPython Environmentsを表示させる。
+Customを選択、追加登録される「New Environment」のConfigureにて、自動認識されなPythonを手動で登録できるみたい。

IronPython WindowsForm Application

Configureの下に表示されているpipを選択してみる。 ここでPythonのパッケージ管理もできるみたい。

IronPython WindowsForm Application


他にもいろいろ便利な機能がいろいろあるようだがもう面倒くさくなったので...

参考記事

ページのトップへ戻る