将python代码移动到新目录会导致导入失败

时间:2015-02-26 13:02:52

标签: python

我有如下文件结构:

DirCode
   _init_.py
   DirA
        _init_.py
        Main.py
        GUI.py
        Model.py 

我在PYTHONPATH中设置了DirCode。

Main.py脚本将GUI和模型导入为import DirA.GUIimport DirA.Model。这一直很好。

然后我创建了一个新目录并将脚本复制到该新目录,因此结构现在看起来像:

DirCode
   _init_.py
   DirA
        _init_.py
        Main.py
        GUI.py
        Model.py 
   DirB
        _init_.py
        Main.py
        GUI.py
        Model.py 

我将DirB / Main.py导入语句更改为import DirB.GUIimport DirB.Model

我的问题是,当我在Main.py中运行DirB时,我收到导入错误,表明没有模块GUI(或没有模块模型)

我做错了什么?

1 个答案:

答案 0 :(得分:0)

我确定了问题的原因。在我的示例中,我复制文件的新目录名为DirB。但是,在我的计算机上,新目录名与主python文件具有相同的名称。换句话说,文件结构如下:

DirCode
   _init_.py
   DirA
        _init_.py
        Main.py
        GUI.py
        Model.py 
   Main
        _init_.py
        Main.py
        GUI.py
        Model.py 

显然,新子目录(例如“import Main.Gui”)中Main.py中的导入因使用与脚本名称相同的目录名称而混淆。