IronPythonって名前は知ってるけどどういうものなのかは知らない…
.NET Frameworkで実装されたPythonであるIronPython。名前は知ってるけど何なんだかわからないって方、多いんじゃないでしょうか。
こんにちは、Pythonが大好きなライターのフクロウです。
この記事では、.NETの資産が簡単にPythonから使える、IronPythonについて紹介します。IronPythonがどんなものなのかの紹介だけでなく、IronPythonに関する記事等へのリンクもまとめています。これからIronPythonについて勉強したいと考えている方はぜひ読んでみてください!
この記事はこんな人のために書きました
- IronPythonについて知りたい方
- サンプルコードが見てみたい方
- IronPythonの資料を探している方
本記事を読む前に、Pythonがどんなプログラミング言語なのかをおさらいしておきたい人は次の記事を参考にしてください。
→ Pythonとは?特徴やできること、活用例をわかりやすく簡単に解説
なお、その他のPythonの記事についてはこちらにまとめています。
IronPythonってなんだろう
IronPythonは.NET Framework上で実装されたPython
.NET Frameworkとは、Microsoftが提供しているソフトウェアの開発・実行環境です。例えば、C#やF#のようなプログラミング言語で使われています。
そしてIronPythonとは、そんな.NET Frameworkの上で実装(C#によって実装)されたPythonです。
IronPythonのすごいところ
IronPythonを使うことで、手軽に書けるスクリプト言語であるPythonを使って、.NETの資産を使うことが出来ます。また、既存の多くのPythonライブラリを使うことも可能です。日頃Pythonによる開発を行っている開発者ならば、Pythonのシンプルな構文で.NET開発ができますね。
また、C#は静的言語ですが、IronPythonは動的言語です。簡単にコーディング→テストが行えるため、スピーディーな開発ができそうですね。
IronPythonの注意点
現在の安定版であるIronPythonはPython 2.X系です。そのため、Python 3.X系に慣れている方は多少の違いを意識してプログラミングをする必要があります。
また、IronPythonの日本語の資料は少なめで、勉強をするのが少し大変かもしれません。
IronPythonのインストール
IronPythonのインストールがしたい方向けに、インストール方法をまとめます。
公式ページのインストーラを使った方法
IronPythonの公式ページには、各バージョンのインストーラーが用意されています。これを使ってIronPythonのインストールが可能です。
このページから、最新版のIronPythonをダウンロードしましょう。ここでは、IronPython 2.7.9というバージョンになります。
リンク先には.msiや.pkgなどのファイルがあるので、Windowsならば.msiファイル、Macならば.pkgファイルをダウンロードして、インストーラーに従ってインストール作業を行います。
pyenvを使った方法
pyenvはPythonのバージョンを管理する事ができるツールです。これを使ってもIronPythonのインストールができます。以下のコマンドでpyenvでインストールできるPythonの一覧を確認します。
# pyenvでインストールできるPythonの一覧 pyenv install --list
するとironpythonのバージョンがいくつか出てきます。
出力例:
ironpython-dev ironpython-2.7.4 ironpython-2.7.5 ironpython-2.7.6.3 ironpython-2.7.7
この中から、欲しいバージョンをインストールして使うことが出来ます。
# pyenv install pythonのバージョン pyenv install ironpython-2.7.7
IronPythonの使い方と資料
はじめてのIronPython
IronPythonはみなさんが日頃使っているPython(CPython)と同様に使うことが出来ます。例えば、C#でのHello Worldは以下のようになります。
using System; public class Hello{ public static void Main(){ Console.WriteLine("hello world!"); } }
これに対して、IronPythonでのHello Worldは以下の一行です。(※python2系の書き方になっています)
print "Hello World"
IronPythonの資料集
IronPython2の(Python 2.x系のIronPython)のリポジトリです。ソースコードを読んだほうが早い!という方はぜひ見てみましょう。また、バグや疑問があったらissuesを覗いてみてください。もしかしたら既に同じ内容のissueがあるかもしれません。
IronPython3の(Python 3.x系のIronPython)のリポジトリです。まだ利用できるほどまで開発されていないようですが、現在の主流であるPython3系が使いたい方向けです。
IronPython .NET Integration documentation
IronPythonのドキュメンテーションです。.NETをどうやってIronPythonから使うのかについてはここを見るとわかります。
youtubeに公開されているIronPythonのプレゼンテーションです。IronPythonの紹介動画が複数まとめられています。古いものもありますので、できるだけ新しいものを選んで見てみてください。
再来、鋼鉄の蛇神(IronPython)。–@Nimimal
QiitaのIronPython記事です。LINQなどのC#の特徴的な機能をどうやってIronPythonから使うかについて書かれています。
プログラミングQAサイトのstack overflowです。わからないことがあったらここに質問してみるともしかしたら返答が得られるかも?
hmPy (秀丸マクロ用 .NET Framework ライブラリ via IronPython)
秀丸エディタという有名なテキストエディタの機能拡張にIronPythonを使っているようです。IronPythonが実際にどのように使われているかが分かる良い例だと思います。
Derbycon 2018のIronPythonトラックのビデオ
Derbyconという情報セキュリティカンファレンスの動画です。この中でIronPythonに関しても触れています。
まとめ
この記事では、IronPythonの紹介と、Web上でIronPythonを学べるコンテンツを紹介しました。
残念ながらIronPythonの方法はWeb上にも少なく、いくつか出ている書籍は10年以上前のものが多いです。公式ページやGithubを使っての勉強が主になると思います。また、.NETをPythonから使いたいだけであれば、実はIronPythonを使わなくても、pythonnetというライブラリを使うことで可能です。
個人的には、まずはpythonnetを使ってみて、それで難しければIronPythonの利用を考えてみることをおすすめします。