2009年12月6日日曜日

ICE:分散オブジェクト 環境変数の設定

ICE(Internet Communications Engine)はZeroCが開発している分散オブジェクトツールです。開発者の一人Michi HenningはOMG(Object Management Group, CORBAやUMLの標準化を行っているアメリカの標準化団体)にてCORBAの開発をやっていた人のようです。それがCORBAに飽き足らず新しい分散オブジェクトミドルウェアを作ることになったんですかねえ。

で、ICEはC++, .NET, Java, Python, Objective-C, Ruby, and PHPに対応とのことなので、例えばPythonのサーバとRubyのクライアントを組み合わせたりできるはずです。(現在、Rubyはクライアントのみサポートとのことです。)

ということでPyroがだめだったので今度はICEに挑戦中です。

まずは初期の環境変数設定です。

import Ice で
ImportError: No module named Ice

となりますので、PYTHONPATHを下記のように設定します。

set pythonpath=(各自のPathをここへ入れる)\Ice-3.3.1\python;%pythonpath%

これでIceというモジュールは見つけられるようになりますが、今度は

import Ice
  File "C:\Ice-3.3.1\python\Ice.py", line 19, in
    import IcePy
ImportError: DLL load failed: 指定されたモジュールが見つかりません。


とdllが見つからないと言ってきます。これはdllのためにPathを追加する必要があって、

set path=(各自のPathをここへ入れる)\Ice-3.3.1\bin;%path%

としたら通るようになりました。

Writing an Ice Application with Python

このページのClient/Serverを試してみて、Server側にちゃんと Hello World! が表示されました(^^V

0 件のコメント: