【发布时间】:2016-07-06 18:56:48
【问题描述】:
我对 IronPython 模块导入处理有一个普遍的问题。
给定一个 Python 包,子模块可以通过相对引用相互引用。假设包名为 Poultry,其中的子模块是 Chicken.py 和 Duck.py。 Chicken 然后可以将 Duck 简单地作为“import Duck”导入,反之亦然。应用程序加载的 Python 脚本可以正确导入包,可以使用子模块并且一切正常。
包的目录结构如下:
+ - Poultry
| - __init__.py
| - Duck.py
L - Chicken.py
但是,例如,当我使用我的应用程序打开 Duck.py 时,我无法运行和调试它,因为 IronPython 在“import Chicken”行引发了一个导入错误,并显示“No module name Chicken”消息。
我知道这不是 IronPython 的严格问题,而是托管应用程序的问题。最后的问题是,如何修改我的托管应用程序以正确处理这些导入语句? 我应该在范围内设置一些路径变量,还是什么?如何让 Python 引擎理解当前加载的文件是特定包的一部分?
欢迎任何想法:-)
【问题讨论】:
标签: c# python ironpython