繁体   English   中英

Python-找不到模块错误

[英]Python - Module Not Found Error

我有这个结构:

F
  f1
    __init__.py
    f.py
    g.py
  f2
    __init__.py
    h.py

f2.__init__.py

from f1 import f, g

f2.h.py

from f2 import f, g

f2.py__main__文件。 当我运行f2时,出现错误

ModuleNotFoundError: No module named 'f2'

我该如何解决?

如果直接在f2.h.py中运行main,则解释器似乎不是F的父路径。

一种选择是使用相对导入,这对于Python 2/3不同的 例如,添加F.__init__.py文件,然后chnage F.f2.__init__.pyfrom ..f1 import f, g中和finaly F.f2.h.py进口如from F.f2 import f, g

另一个选择是将路径添加到父目标:

import os, sys
sys.path += [os.path.abspath('..')]

from f2 import f, g

if __name__ == '__main__':
    print('hello')

我修理它。 正如Jirka B.所说,问题是我从解释器运行了directley代码。 在完成应做的事情之后,一切都按我的意愿进行。 谢谢你们

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM