3266850 ランダム
 HOME | DIARY | PROFILE 【フォローする】 【ログイン】

傀儡師の館.Python

傀儡師の館.Python

【毎日開催】
15記事にいいね!で1ポイント
10秒滞在
いいね! --/--
おめでとうございます!
ミッションを達成しました。
※「ポイントを獲得する」ボタンを押すと広告が表示されます。
x

PR

Recent Posts

Calendar

Keyword Search

▼キーワード検索

Category

Archives

2023.11
2023.10
2023.09
2023.08
2023.07

Freepage List

Profile

kugutsushi

kugutsushi

Free Space

設定されていません。
2008.02.27
XML
カテゴリ:IronPython
CodeZine:C#とIronPythonで変化に強いWindowsアプリケーションを作る(入門, チュートリアル) を読む。

IronPython は本も買ってあるのだけど、結局、ちらちら、ネット上の記事とかで見る程度でまた使っていない。これを機会に少し使ってみようかなぁ。何を考えているかと言えば、自然言語処理関連のライブラリ SlothLib を IronPython から使ったらどうかということ。

でも、Windows だけでなく Unix 系でも動かないと後々嫌だなというのがあるので、Mono ってどうなのだろうと、少し試し始める。Screenshots とか、MoonlightShots 見てみると、自分の作るものならこの程度のことができていれば問題ない。ドキュメントは Mono Documentation Library にある。

まず、Sparc マシン上で動くかどうか試す。Download Mono から、Mono 1.2.4_4 Package をダウンロードしてインストール。Solaris 8 用のものなのだが、Solaris 10 でも一応動くような感じ。ちなみに、Mono 1.2.6 Sources が現時点での最新版だが、コンパイル・インストールがとりあえず面倒だと思ったので、若干古いバージョンのバイナリで我慢する。FAQ を見ると

Can I use this package on Solaris 10 Sparc?

Most likely, yes, but this has not been tested much. Expect to see a Solaris 10 package in the future.

Can I use this package on Solaris 10 x86?

No, but expect to see a Solaris 10 x86 package in the future.

ということで、現状 Solaris 10 Sparc ではだいたい動くようなのだが、Solaris x86 は公式にはまだ駄目なようだ。けれども、 あれこれ参考資料をもとにそのうちやってみる。優先順位的に言えば、Linux 版が優先されるだろうから、Linux 上で動かすかなぁとかいうのもあるが、とりあえずは Solaris 版にしておく。そのうち自分でコンパイルしてみるか。

ちなみに VMware プラットフォームを選ぶと、SUSE 10.3 ベースの Linux に Mono 1.2.6 がインストールされたものが使える。環境作りでめげるのもなんだし、これもありだな。やっぱり Novell が主体でやっているからか、SUSE が優先されている感じね。パッケージとしては Red Hat もちゃんと対応しているけど、VMware のパッケージは SUSE だけ。

とりあえず、Sparc 版の Solaris にインストールしてみる。

$ gunzip mono-1.2.4_4.sunos8.novell.sparc.pkg.gz
$ su
# pkgadd -d mono-1.2.4_4.sunos8.novell.sparc.pkg
# /opt/mono/setup.sh

What is Mono を読む。Mono のコンポーネントは C# 1.0 と 2.0 対応のコンパイラーである C# Compiler、ECMA Common Language Infrastructure (CLI) の実行環境の Mono Runtime、Base Class Library (Microsoft .Net Framework 互換)、Mono Class Library (Gtk+, Zip files, LDAP, OpenGL, Cairo, POSIX, 等の Linux 環境を主とした拡張でクラスのサンプルも含む)ということらしい。

CSharp Compiler を見ると、mcs が .NET 1.1 ランタイム用のコンパイラ、gmcs が 2.0 ランタイム用のコンパイラ、.NET smcs が .NET 2.1 ランタイム用のコンパイラ(Linux 用の Silverlight の Moonlight アプリケーション) ということらしい。余談だが IKVM.NET なんてプロジェクトがあるのね。Java と Microsoft .NET は排他的に使うのが普通の考えだけれど、.NET 環境の中に Java Virtual Machine (JVM) を実装しちゃう。.NET と Java を混在して使えるというのがおもしろい。

とりあえず基本から。Mono Basics を見て、日本語も使えるかの確認。

using System;

public class HelloWorld
{
static public void Main ()
{
Console.WriteLine ("Hello Mono World");
Console.WriteLine ("日本語でもこんにちは");
}

}

で、hello.cs を作って、「mcs hello.cs」を実行すると、hello.exe ができるので、実行してみる。

$ export PATH=/opt/mono/bin:$PATH
$ mcs hello.cs
$ mono hello.exe
Hello Mono World
日本語でもこんにちは。

コンパイラは 1.1 用の mcs でも、2.0 用の gmcs でも試してみたが、どちらもちゃんとコンパイルできた。単純なものならたぶん問題なく動くのだろう。Gtk# を使ったものではどうだろうと試してみる。環境がよろしくないせいかエラーで実行できないので環境を作り直す方向にする。

mono がちゃんと動くようになったら IronPython であがくより、FePy の方が楽なのかな。

とりあえず、環境を整えるのは時間もかかりそうなので、Windows 上で SlothLib を使うところから始めるかな。


なかのひと






お気に入りの記事を「いいね!」で応援しよう

Last updated  2008.02.28 04:35:46
コメント(0) | コメントを書く
[IronPython] カテゴリの最新記事



© Rakuten Group, Inc.