对于我的项目,我想使用外部库,连接到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。
答案 0 :(得分:2)
您可以使用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'>