来自子目录的ImportError

时间:2015-01-20 21:21:18

标签: python windows

当子目录中的模块从同一目录中的另一个模块导入时,我收到导入错误。我认为错误是由于计算机上的权限而引起的,但是我在诊断时遇到了问题。文件夹结构如下。

/test_import
    test.py
    /imports
        __init__.py
        aa.py
        bb.py

包含bb.py

from aa import myfun

aa.py包含

def myfun():
    print("hello")

和test.py包含

if __name__ == "__main__":
    from imports import bb
    bb.myfun()
运行以下内容时,我的计算机上的

我得到了预期的结果

C:\Users\mgilbert\test_import>python test.py
hello

然而,在另一个盒子上,我收到以下错误

import error

无论出于何种原因,当我尝试运行> python test.py时会导致导入错误,但是如果我启动ipython并执行相关导入,这可以正常工作吗?

1 个答案:

答案 0 :(得分:0)

您正在使用隐式相对导入。这些no longer exist in Python 3因为他们坦率地说比他们值得更麻烦。

bb.py中的导入更改为:

from imports.aa import myfun