Python导入本地模块,如果未在存储库路径上执行,则会出错

时间:2014-06-26 17:48:27

标签: python python-2.7 python-import

我有一堆BitBucket存储库,我已在~/.profile

中导出
export PATH=$PATH:/home/francesco/Desktop/BitBucket/graphlan
export PATH=$PATH:/home/francesco/Desktop/BitBucket/hclust2
export PATH=$PATH:/home/francesco/Desktop/BitBucket/lefse
export PATH=$PATH:/home/francesco/Desktop/BitBucket/export2graphlan

现在问题出现在export2graphlan存储库中。在我的存储库中,作为名为hclust2的子存储库,我在文件export2graphlan.py中导入了

path.insert(0, 'hclust2/')
from hclust2 import DataMatrix

问题是,如果我从export2graphlan.py执行/home/francesco/Desktop/BitBucket/export2graphlan,一切都很好。当我从其他任何地方午餐export2graphlan.py时(因为我在PATH中导出它)我收到以下错误:

Traceback (most recent call last):
  File "/home/francesco/Desktop/BitBucket/export2graphlan/export2graphlan.py", line 9, in <module>
    from hclust2 import DataMatrix
ImportError: No module named hclust2

任何人都知道出了什么问题?提前谢谢大家!

1 个答案:

答案 0 :(得分:0)

尝试在hclust2上添加__init__.py文件。

每个目录都必须有__init__.py个文件。