You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python模块导入报错:无法从'website'导入create_app函数

解决ImportError: cannot import name 'create_app' from 'website'的问题

下面是针对这个导入错误的排查和解决步骤:

  • 核对项目目录结构
    确保你的项目层级正确,website作为Python包(必须包含__init__.py),要和main.py处于同一根目录下,示例结构:

    你的项目名/
    ├── main.py
    └── website/
        ├── __init__.py
        └── 其他相关文件
    

    如果main.py放在子目录里,要么调整导入路径,要么手动把项目根目录添加到Python路径中。

  • 检查create_app函数的定义
    打开website/__init__.py,确认:

    • 函数名拼写完全正确(注意大小写,比如不要写成Create_app或者createapp)
    • 函数定义在全局作用域里,没有嵌套在其他函数或类内部
      正确的示例写法:
    def create_app():
        from flask import Flask
        app = Flask(__name__)
        # 这里添加你的应用配置、蓝图注册等逻辑
        return app
    
  • 确认运行环境和工作目录
    运行main.py时,一定要在项目根目录(也就是包含website和main.py的文件夹)下执行命令。比如用命令行操作的话:

    cd /path/to/你的项目名
    python main.py
    

    不要直接在website文件夹里运行main.py,否则Python无法识别website这个包。

  • 排查命名冲突

    • 项目根目录下不能有和包名同名的文件(比如website.py),否则会优先导入这个文件,覆盖对website包的引用
    • 检查__init__.py里有没有语法错误,或者有没有导入其他同名的create_app对象,导致函数被覆盖
  • 验证导入语句
    main.py里的导入语句应该是:

    from website import create_app
    

    如果之前尝试导入__init__,正确写法是from website.__init__ import create_app,但更推荐直接从包导入的方式。

  • 清理缓存文件
    删除项目里的__pycache__文件夹,然后重新运行代码,避免旧的缓存代码干扰导入逻辑。

内容的提问来源于stack exchange,提问作者Prince mehta

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.24 21:37:11