英文:
ModuleNotFoundError: No module named 'app.lang'; 'app' is not a package
问题
我在我的Python项目中有这样的文件结构:
|__src
|__main.py
|__gen.py
|__app
|__ __init__.py
|__ app.py
|__ lang.py
意图
我想要在兄弟模块 lang 中使用 Language 类。
所以我在 app.py 中尝试了这个导入语句:
from app.lang import Language
问题
但是当我运行 app.py 时,我收到一个 ModuleNotFoundError 错误,说 'app' 不是一个包:

这是没有道理的,因为 app 有一个 __init__.py。
如何解决这个问题?
英文:
I have this file structure in my python project
|__src
|__main.py
|__gen.py
|__app
|__ __init__.py
|__ app.py
|__ lang.py
Intention
I want to use the Language class from sibling module lang.
So I tried with this import statement in app.py:
from app.lang import Language
Issue
But when I run app.py I get a ModuleNotFoundError error saying 'app' is not a package:

Which doesn't make sense since app has __init__.py.
How can I solve this?
答案1
得分: 1
因为app.py和lang.py都在同一个目录中,尝试像这样导入:
from .lang import Language
或者你可以从位于app文件夹外部的另一个文件中使用from app.lang import Language。
英文:
Because both app.py and lang.py are in the same directory try to import like this :
from .lang import Language
or you can use from app.lang import Language from another file located outside app folder
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。


评论