对于我的项目,我想使用连接到git仓库作为子模块的外部库。它们位于shared-lib文件夹中,该文件夹已添加到sys.path
所有库都包含setup.py文件和带有python模块的子文件夹。我如何在不安装整个程序包且不更改其结构的情况下导入该模块?

import module_name.module_name不起作用,我得到No module named module_name.module_name,因为module_name目录中没有__init__.py文件。

我的项目不需要安装,因为它是另一个系统的插件。所以我只能使用python import。

最佳答案

您可以使用imp

import imp

foo = imp.load_source('module1.foo', 'module1/module1/foo.py')
bar = imp.load_source('module2.bar', 'module2/module2/bar.py')

print(foo)
print(bar)


输出:

<module 'module1.foo' from 'module1/module1/foo.py'>
<module 'module2.bar' from 'module2/module2/bar.py'>

关于python - 来自未安装包的Python导入模块,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/48665521/

10-12 18:37