IronPythonモジュールのインポート処理に一般的な問題があります。IronPythonサブモジュールインポート
与えられたPythonパッケージでは、サブモジュールは相対参照で互いに参照できます。パッケージは家禽と呼ばれ、サブモジュールはChicken.pyとDuck.pyです。チキンはダックを単に「輸入ダック」とその逆に輸入することができます。アプリケーションによってロードされたPythonスクリプトは、パッケージを正しくインポートでき、サブモジュールを使用でき、すべて正常に動作します。パッケージの
のディレクトリ構造は次のようになります。
+ - Poultry
| - __init__.py
| - Duck.py
L - Chicken.py
をしかし、私は例えば、私のアプリケーションでDuck.pyを開いたときにIronPythonのは、ライン上にインポートエラーがスローされますよう、私はそれを実行してデバッグすることはできません」 「Chickenをインポートせずに」というメッセージが表示されます。
これは厳密にIronPythonではなくホスティングアプリケーションの問題であると私は理解しています。結局のところ、問題は、これらのインポートステートメントを正しく処理するために私のホスティングアプリケーションを変更するにはどうしたらいいですか? 範囲変数にいくつかのパス変数を設定する必要がありますか? Pythonエンジンで、現在ロードされているファイルが特定のパッケージの一部であることを理解させるにはどうすればよいですか?
すべてのアイデアは、あなたは常にそのパッケージの一部としてDuck
をインポートする必要が
MisterMiyagiにお返事ありがとうございます。 実際、Poultry.Duckをアプリケーションにインポートするのに問題はありませんが、うまくいきます。問題はDuck.pyを開いたときです。IronPythonはDuck.pyにあるimport Chicken.pyのインポートステートメントを処理できません。 – user6165992