当子目录中的模块从同一目录中的另一个模块导入时,我收到导入错误。我认为错误是由于计算机上的权限而引起的,但是我在诊断时遇到了问题。文件夹结构如下。
/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
然而,在另一个盒子上,我收到以下错误
无论出于何种原因,当我尝试运行> python test.py时会导致导入错误,但是如果我启动ipython并执行相关导入,这可以正常工作吗?
答案 0 :(得分:0)
您正在使用隐式相对导入。这些no longer exist in Python 3因为他们坦率地说比他们值得更麻烦。
将bb.py
中的导入更改为:
from imports.aa import myfun