8wDlpd.png
8wDFp9.png
8wDEOx.png
8wDMfH.png
8wDKte.png

如何修复错误“ModuleNotFoundError:没有名为...的模块”?

Idokoond K 2月前

34 0

我正在设计一个网站。项目结构为project\ back_end\ __init.py__ main.py在init.py中,from flask import Flaskdef create_app(): app = Flask(__name__) return app我...

我正在设计一个网站。项目结构如下

project\
 back_end\
  __init.py__
  main.py

init.py ,

from flask import Flask

def create_app():
    app = Flask(__name__)    
    return app

在 main.py 中

from back_end import create_app

app = create_app()
@app.route("/")
def home():
    return "hello world"

当我在 VS Code 中点击运行时,出现错误 ModuleNotFoundError :没有名为“back_end”的模块。

我在命令行中输入 python -m back_end.main ,代码有效。我还尝试将 back_end 包重命名为 b。错误仍然存​​在。这与定义环境变量有关吗?我使用的是 Ubuntu 24.04。

帖子版权声明 1、本帖标题:如何修复错误“ModuleNotFoundError:没有名为...的模块”?
    本站网址:http://xjnalaquan.com/
2、本网站的资源部分来源于网络,如有侵权,请联系站长进行删除处理。
3、会员发帖仅代表会员个人观点,并不代表本站赞同其观点和对其真实性负责。
4、本站一律禁止以任何方式发布或转载任何违法的相关信息,访客发现请向站长举报
5、站长邮箱:yeweds@126.com 除非注明,本帖由Idokoond K在本站《ubuntu》版块原创发布, 转载请注明出处!
最新回复 (0)
  • 正如@DeepThought42 指出的那样,文件名应该是这样的 __init__.py ,项目结构应该是这样的:

    project
     back_end
        __init__.py
     main.py
    
    • 请注意,它 main.py 位于您的“back_end”目录之外。

    另外,我不知道为什么有人会直接在里面添加该代码 __init__.py (不应该!)。相反,您可以使用以下方法:

    项目结构:

    project
     back_end
        __init__.py
        app.py
     main.py
    

    __init__.py

    # You can leave this file empty
    # Read more about it here: https://www.geeksforgeeks.org/what-is-__init__-py-file-in-python/
    

    app.py

    from flask import Flask
    
    def create_app():
        app = Flask(__name__)
        return app
    

    main.py

    from back_end import create_app
    
    app = create_app()
    @app.route("/")
    def home():
        return "hello world"
    
    app.run()
    
  • init.py 是一种类型。我将 main.py 移到了 back_end 之外。它起作用了。该项目正在开发中,我只是在这里包含了相关文件。

  • 一,它 __init__.py 不是 __init.py__ 。二,你的 main.py 文件需要在你的 project/ 目录中,而不是 project/back_end/ 。修改后的文件结构将如下所示:

    project\
      back_end\
        __init__.py
      main.py
    

    此外,对于像您描述的这种结构的简单项目,您不需要有多个这样的文件。一个 main.py 文件就足够了。

返回
作者最近主题: