gpt4 book ai didi

python - 导入一个模块,该模块使用 importlib 导入另一个模块

转载 作者:行者123 更新时间:2023-12-01 08:25:41 24 4
gpt4 key购买 nike

我已经研究了许多其他解决方案,但它们似乎并没有直接解决我的问题。

我的目录结构如下所示:

main
main.py
plugins
plugin1
a.py
b.py

b.py 有第一行

导入

我想要的是 main.py 能够从插件目录动态加载插件

因此我已经这样设置了

import importlib

plugin = "plugin1" #the hope is that this will be defined dynamically eventually

plugin_name = ".b"
plugin_module = importlib.import_module(plugin_name, "Plugins." + plugin1)

我希望通过在plugin_module importlib命令中添加相对引用,“b”在运行时能够成功找到“a”,但我收到错误

ModuleNotFoundError:没有名为“a”的模块。

我假设当它尝试运行 b 时,它无法找到 a - 但如果有一种使用 importlib 的方法来解决这个问题,那就太好了(因为能够动态定义我正在使用的对我来说至关重要.

提前致谢!

最佳答案

这与 importlib 无关;如果您显式导入模块,例如 from plugins.plugin1 import b,您会看到同样的问题。这是因为a不是一个模块,实际的模块名称是plugins.plugin1.a

您必须在插件中使用相对导入。将 import a 更改为 from 。导入一个

关于python - 导入一个模块,该模块使用 importlib 导入另一个模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54267249/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com