IronPython子模块imp

2024-09-26 17:57:00 发布

您现在位置:Python中文网/ 问答频道 /正文

我对IronPython模块导入处理有一个一般性问题。你知道吗

给定一个Python包,子模块可以通过相对引用相互引用。假设包名为biggle,其中的子模块是鸡肉.py以及鸭子.py. 鸡可以简单地作为“进口鸭”进口鸭,反之亦然。应用程序加载的Python脚本可以正确导入包,可以使用子模块,一切正常。你知道吗

包的目录结构如下所示:

+ - Poultry
| - __init__.py
| - Duck.py
L - Chicken.py

然而,当我打开鸭子.py以我的应用程序为例,我无法运行和调试它,因为IronPython在“import Chicken”行抛出一个导入错误,消息是“No module name Chicken”。你知道吗

我知道这不是IronPython的问题,而是宿主应用程序的问题。最后的问题是,如何修改宿主应用程序以正确处理这些导入语句? 我应该在作用域中设置一些路径变量,还是什么?如何让Python引擎理解当前加载的文件是特定包的一部分?你知道吗

欢迎任何意见:-)


Tags: 模块py目录脚本应用程序init结构宿主
2条回答

必须始终将Duck作为其包的一部分导入。在应用程序中,始终执行以下任一操作:

import Poultry.Duck
from Poultry import Duck

如果直接用解释器运行,则必须使用^{} switch作为

python -m Poultry.Duck

您仍然需要输入from Poultry import Chicken来导入鸡肉。你不能只做import Chicken。从项目中的任何文件都是相同的。你知道吗

相关问题 更多 >

    热门问题