Python Importlib找不到模块

时间:2015-06-09 15:26:40

标签: python import

我尝试使用Importlib的Import_module导入一些文件,但我不断得到一个模块不存在错误。我的目录结构看起来有点像这样:

  a
 /  \
c    b
     |
     d

字母全部代表文件夹。我的函数应该以c开头,然后使用os.path.walk向下导航到d,它找到几个py文件并导入它们。问题是import_module没有找到模块。我尝试过更简单的案例,例如导航到目录a,然后尝试从b和c导入测试文件。出于某种原因,当我执行import_module('a.c.test_file1')时,它会正确导入,但是当我尝试import_module('a.b.test_file2')时,它无法找到该模块。我错过了什么?

注意:我也尝试过无用的相对路径

2 个答案:

答案 0 :(得分:0)

没关系,它与__init__py有关。一个文件夹有它们而另一个文件夹没有,我认为这就是为什么我可以从一个文件夹导入但不能从另一个文件夹导入。

答案 1 :(得分:0)

我假设你正在使用MacOSX,我也假设你的python模块放在你的自定义目录中,如下所示。启动命令行并运行此

> export PYTHONPATH=/home/me/Desktop/a/python.module

然后测试在python中导入模块

> python    
> import module

它应该有用。

此处提供更多信息:https://docs.python.org/2/using/mac.html