在下面的示例中,尝试将Utility.py脚本导入component.py,但是当我尝试运行使用子组件的application.py时,出现以下消息:“ ModuleNotFoundError:没有名为'package的模块'”。关于component.py为什么无法访问utility.py的任何想法或建议?我想将实用程序逻辑与应用程序逻辑分开,因此,如果我添加了另一个使用该实用程序的子组件,则不必将实用程序复制到同一文件夹中并保持重复的代码。
注意:我尝试使用文件夹而不是软件包,但这似乎无济于事。
-package
__init__.py
-subpackage_app
__init__.py
application.py
-subpackage_componenet
__init__.py
component.py
-subpackage_util
__init__.py
utility.py
component.py导入
from package.subpackage_util.utility import utilityClass
更新:以下代码最终解决了我的导入问题。帖子中对sys.path的引用含糊不清,被标记为解决方案,但这对我没有帮助,所以我最终进行了更多的挖掘,直到遇到一个具体的示例。
import sys
sys.path.append("full/path/to/subpackage_util")
from utility import utilityClass