« [ Python ] IronPython β9 | トップページ | 難しいセキュリティ »

2006/07/18

[ python / VS2005 ] VS2005 に IronPython を統合する方法

このエントリは aaronmar 氏の Blog "Aaron Marten's WebLog" にある、VisualStudio2005 に IronPython を統合する方法を解説したエントリ "A bit more on IronPython" を日本語に翻訳したものです。原文にもありますが、動作保証は一切ありませんしクレームも一切受け付けません。トラブルが発生しても原著者 aaronmar 氏にクレームを送るようなことはしないでください。

IronPython を VisualStudio2005 に統合するにはどうしたらいいの?
最初にこちらから VisualStudio SDK の最新版をダウンロードしてください。ダウンロードするためには VSIP のメンバーに登録する必要がありますが、参加者レベル ( 訳注: 原文は affiliate level ) ならば無料です。また、VSIP ライセンスに同意する必要があります。

訳注:リンク先にはチェックボックスがあります。以前に VSIP のサイトを利用したことがあり、そのときに会員登録を行ったことがある場合は "Yes" を選択してください。初めて VSIP のサイトを利用する場合は "No" を選択してください。また、Microsoft Passport を持っていない場合は作成する必要があります。 すごくめんどうですが・・・ (-_- il|!

どのレベルの VisualStudio が必要なの? ExpressEdition でも大丈夫?
残念ながら ExpressEdition では無理です。VisualStudio ExpressEdition はアドインやパッケージによる機能拡張をサポートしていないのです。これは Express シリーズの制限の1つです。VisualStudio Standard かそれ以上が必要になります。

VisualStudio SDK をダウンロードしたよ。IronPython を VisualStudio で動かすには、次は何をするの?
Visual Studio SDK をデフォルトのままでインストールしたとしよう。VisualStudio2005 を起動して、↓のパスにあるソリューションを開いてください。

C:\Program Files\Visual Studio 2005 SDK\2006.04\VisualStudioIntegration\Samples\IronPythonIntegration
ソリューションを開いたら [F5] キーを押して Build&Debug を行います。こうすることで VisualStudio の "Experimental hive" モードを開始します。デバッガなしの Experimental Hive モードを開始したいときは "devenv/rootsuffix Exp" ( 訳注:英語版VS がないので確認できませんでした。) を実行するかスタートメニューにあるショートカットから起動してください。

ビルドして実行したけど、これからどうするの?
C# を使ったプロジェクトを作成するときと同じようにして IronPython を使った新しいプロジェクトを作成できます。コンソールアプリケーションを作ってしばらく遊んでみるといいでしょう。拡張子 .py が付いたファイルを開くと、コードが見やすくカラーリングされるのがわかると思います。( 訳注: 実際に py ファイルを開いたところ、↓のようになりました。) vs2005 integrated IronPython

もうひとつ、ちょっとクールなアイテムがあります。このサンプルはアウトプットウィンドウやソリューションエクスプローラに似た IronPython Console Window と呼ばれるツールウィンドウを含んでいるのです。IronPython Console Window は "View-Other windows" ( 訳注: ゴメンナサイ。どのメニューか確認できません。) から起動することができます。

このコンパイラはどうなってんの?IronPython バイナリをコンパイルできないよ。
過去数ヶ月にわたって IronPython チームは IronPython.dll にコンパイラとしてのインターフェイスを追加してきました。これはアナタがビルドメニューを選んだときに、IronPython のシステムがコードをコンパイルするために使うものです。コンパイラがどうやって動いているのかということについて完全に理解するために必要なものが、IronPython ランタイムである IronPython.dll にかなり深く食い込んでいるのです。そもそも Python は動的な言語です。IronPython バイナリが実行されると、それぞれの命令文は逐次評価と型のチェックが行われて実行されるのです。

これが意味するとことは、IronPython バイナリの中身の MSIL は C# や VB で作成された一般的な .NET ライブラリとは異なるということです。実際、他のプロジェクトからは使用することはできないはずです。

相互に参照している複数の py ファイルがあるんだ。これはどうやって動かすの?
簡単です。一連のファイルを同じフォルダの中に入れておいてインポートするだけです。たとえばメインのファイルとして program.py というファイルがあり、myModule.py というファイルをインポートする必要があるとします。2つのファイルを同じフォルダに保存しておけば、 program.py ファイルの中に次の1行を追加するだけです。

import myModule

訳注: ファイルが多くなった場合はサブフォルダを作成して、パッケージインポートを行うと楽になります。パッケージインポートについては Learning Python を参考にしてください。

おっと、バグを見つけたんだけど・・・
こちらに英語でフィードバックを送ってください。発見した問題、質問、提案どれでもいいです。わたしたちは ver2.0 に向けて準備をしています。今はバグの修正と提案を受け付けている最中なのです。

Reference
A bit more on IronPython( Aaron Marten, 2006/02/16 )
Extending Visual Studio 2005
( CodeGuru.com, Vijay Mehta, 2006/04/24 )
Learning Python ( Oreilly Japan, 原著:Mark Lutz 訳: 夏目大 )

|

« [ Python ] IronPython β9 | トップページ | 難しいセキュリティ »

コメント

コメントを書く



(ウェブ上には掲載しません)


コメントは記事投稿者が公開するまで表示されません。



トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/103108/10987961

この記事へのトラックバック一覧です: [ python / VS2005 ] VS2005 に IronPython を統合する方法:

» Bookmark [Log By Kenji Akeno (PukiWiki/TrackBack 0.3)]
ちょっと書き留めておきたいページを置くためのページ。要するにメモ。 PC関連 † Wiiにも対応した無線LANルータ http://direct.planex.co.jp/shop/goods/goods.asp?goods=4941250158423 w-zero3[es]に対応した無線LANカード http://ibsjapan.co.jp/Catalog/PC_C...... [続きを読む]

受信: 2007/03/16 11時21分

» IronPythonでWindows.Formを使えるようになりたい。 [スパムとか]
ちょっと学びたいので、簡単なところをやってみた。 PythonWorkshop the Edgeで荒井さんのプレゼンに感動していらいかな? 荒井さんの出してる IronPythonの世界 が欲しい(注、アサマシ)。 [続きを読む]

受信: 2007/05/08 20時06分

« [ Python ] IronPython β9 | トップページ | 難しいセキュリティ »