3

次のような C# コードで Python モジュールをインポートしようとしています。

        var setup = Python.CreateRuntimeSetup(null);
        var runtime = new ScriptRuntime(setup);
        var engine = Python.GetEngine(runtime);
        var module = engine.ImportModule("mymodule");

しかし、「信号という名前のモジュールがありません」というエラーが表示されます。これは、IronPython が信号モジュールをロードできないことを意味しますか?OS 固有ですか?

誰でも回避策を考えることができますか?

4

1 に答える 1

2

'signal' モジュールは、お察しのとおり、シグナルに関係するすべての処理に使用されます。OS がプロセスに何かを伝えるために送信する特別な「メッセージ」があります。Break、Kill、Terminate など...メッセージの正確なセットは一般に OS 固有ですが、シグナルのpython マニュアル ページに記載されているように、python は SIGCHLD を除いて BSD スタイルのインターフェイスをエミュレートします。

現在、CPython では、'signal' モジュールは私が覚えている限りでは組み込みです。おそらく、IronPython がそれを実装していない可能性があります。実際、簡単な Google と IronPython のサイトを見ると、次のようになります。IronPython とCPython の違い(特に拡張モジュールの部分を読んでください!)

考えられる回避策: モジュールを編集して、IronPython でシグナルを使用しないようにします。

于 2009-05-11T08:44:30.467 に答える