我正在创建一个依赖于python-gnupg
PyPi软件包的软件包。在Python中,它作为gnupg
导入。
它是在我的软件包安装过程中安装的。
不幸的是,有gnupg
PyPi软件包也已在Python中作为gnupg
导入。
运行from gnupg import ...
时如何确保调用正确的软件包?我希望我的软件包适用于已经在其Python发行版中安装了“错误” gnupg
的用户,并且现在这两个软件包都位于其site-packages目录中。
答案 0 :(得分:1)
您可以按模块的完整路径加载模块。这样,您可以确定加载了哪个:
import importlib.util
spec = importlib.util.spec_from_file_location("module.name", "/path/to/file.py")
foo = importlib.util.module_from_spec(spec)
spec.loader.exec_module(foo)