使用imp.load_source()抛出"没有名为.."的模块

时间:2014-11-19 22:49:31

标签: python-2.7 python-import

我正在使用imp模块从源代码加载python文件(存在于:/parent_folder/path/to/my_module/my_module.py):

mod = imp.load_source("my_module", "/parent_folder/path/to/my_module/")

但是,my_module.py文件还导入了编写并保存在同一文件夹位置的其他模块:

    my_module.py
    ....
    ...
    from other_module import other_thing
    ...

load_source无法抱怨No module named other_module。加载处理所有导入的文件的最佳方法是什么?我更希望通过使用python导入库函数而不是使用sys.path

来实现这一点

2 个答案:

答案 0 :(得分:0)

您的路径需要包含文件的完整路径名,包括' .py'最后:

mod = imp.load_source("my_module", "/parent_folder/path/to/my_module/my_module.py")

答案 1 :(得分:0)

对我来说,显式导入其他依赖项是可行的。

imp.load_source('path/to/other/module/other_module.py')

请尝试在装入my_module之前放好它。