Flask AttributeError:模块“app”没有属性“run”

2023-11-20

我的 Flask 项目的结构如下:

my_project
│
├── app
│   ├── __init__.py
│   ├── api
│   ├── static
│   └── templates
├── config.py
└── run.py

应用程序/__init__.py:

from flask import Flask

app = Flask(__name__)

app.config.from_object('config')

run.py

from app import app

app.run(
    host=app.config.get('HOST', '0.0.0.0'),
    port=app.config.get('PORT', 5000)
)

这以前有效,但我正在尝试将我的项目从 Python 2 迁移到 Python 3,然后运行python run.py不再有效。我收到以下错误:

Traceback (most recent call last):
  File "/Users/rasmi/Projects/my_project/run.py", line 3, in <module>
    app.run(
AttributeError: module 'app' has no attribute 'run'

如果我更改导入样式run.py来匹配一个here:

from .app import app

app.run(
    host=app.config.get('HOST', '0.0.0.0'),
    port=app.config.get('PORT', 5000)
)

我收到一个不同的错误:

Traceback (most recent call last):
  File "/Users/rasmi/Projects/my_project/run.py", line 1, in <module>
    from .app import app
ModuleNotFoundError: No module named '__main__.app'; '__main__' is not a package

包裹着我的app.run()致电if __name__ == '__main__':块产生相同的结果。是什么导致了这个问题?


我通过重命名解决了这个问题app目录到其他东西(例如webapp)。使用from webapp import app就可以了。这似乎是因为导入时包目录名称优先于模块名称。也许使用__path__将允许人们解决这个问题。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Flask AttributeError:模块“app”没有属性“run” 的相关文章

随机推荐

  • 导入语句中的“show”和“as”有什么区别?

    有什么区别show and as在进口声明中 例如 有什么区别 import dart convert show JSON and import package google maps google maps dart as GoogleM
  • 获取每个二维数组的累积计数

    我有一般数据 例如字符串 np random seed 343 arr np sort np random randint 5 size 10 10 axis 1 astype str print arr 0 1 1 2 2 3 3 4 4
  • Xcode 6 中未创建 Swift to Objective-C 标头

    我最近一直致力于将 Swift 添加到现有项目中 以便以现实世界的方式进行尝试 将 Swift 源文件添加到项目后 我在获取 桥接头 即 Objective C 到 Swift 方面没有任何问题 But the Swift h应该公开 Sw
  • 没有记录的 Linq to Sql Sum

    我正在创建一种收集整个月累计总数的方法 问题是给定月份的某些项目可能不收费 因此不会返回任何行 我可以看到在没有数据的情况下这会如何出错 double fuelCost double from a in db EquipmentFuelLo
  • Django 脆皮表单不加载 CSS

    我在SO上看到这个问题 Django Cripy Forms 找不到 CSS 并遵循已接受答案中的所有建议 即 crispy forms 列在 INSTALLED APPS 下 我没有运行生产服务器 所以我不确定是否应用了collectst
  • 如何通过索引提取c#中字符串中的特定字符[重复]

    这个问题在这里已经有答案了 在 C 中 字符串就像数组 当您编写 str i 时 您可以在其中访问数组的 i 1 元素 类似于 C 中的内容 我不需要 indexOf 方法 因为这是不同的 我需要一些东西通过索引将字符带入字符串中 是的 您
  • 启动时将参数传递给 pyqt 线程

    当线程启动 start 时 有什么方法可以将参数传递给 QThread 吗 我在 stackoverflow 中找到了一个使用 pyqt 线程的示例 但我想知道如何传递参数 以防我希望工作线程处理我传递给其 run 函数的数据 我参考的帖子
  • 在应用程序中将 Youtube 视频保存到 iPhone

    在应用程序中播放 Youtube 视频非常简单 并且有详细的文档记录 这样做有两个问题 关闭 Youtube 播放器后 如果用户想再次播放 则必须再次等待在线流媒体 无法离线播放 在家加载视频以便在路上观看 有没有人有代码 下载 Youtu
  • 为什么使用 -lpthread 隐式声明 pthread_yield 而使用 -pthread 则一切正常?

    我在 CentOS7 中使用 gcc 编译此代码 main c include
  • 403 禁止回复 – 我应该寻找什么?

    我有一个脚本给我错误403 Forbidden error 它只是另一个脚本的副本 但不同之处在于两者都使用另一个 mysql 类来访问数据库 我的整个项目已完成 这是最后一个文件 因此我不想为单个文件再次完成整个工作 服务器日志显示客户端
  • 检查字符串是否由唯一字母组成的最简单方法?

    我需要在 Java 中检查一个单词是否由唯一字母组成 不区分大小写 由于直接解决方案很无聊 我想出了 对于字符串中的每个字符检查是否indexOf char lastIndexOf char 将所有字符添加到HashSet并检查设置大小是否
  • 使用 Qt 4.8 在全屏模式下隐藏光标?

    我在带有 OpenBox 的 ArchLinux 中 我想在 Qt 4 8 应用程序中隐藏全屏光标 我知道有关它的其他一些问题 但没有人每次都能工作 有时光标隐藏 有时不隐藏 我没能准确地理解问题发生的时间 但我认为这可能与屏幕保护程序有关
  • 如何在 Android 中重新启动 Activity? [复制]

    这个问题在这里已经有答案了 在我正在编写的应用程序中 有一部分可以让您更改窗帘设置 问题是 在重新创建活动之前 此设置不会生效 有没有办法告诉应用程序使用 onResume 方法重新启动 希望允许它保存 onSaveInstanceStat
  • 我们如何使用 POI API 读取受保护的密码 excel 文件 (.xls)

    我刚刚学习了 POI 发现 HSSF 的读取和创建 excel 文件 xls 非常简单 但是 当我想读取受密码保护的Excel时 我发现了一些问题 我花了一个小时在互联网上找到这个解决方案 请你帮我解决这个问题 如果您能给我一个代码片段 我
  • 异步网络操作永远不会完成

    我有几个异步网络操作 它们返回可能永远不会完成的任务 UdpClient ReceiveAsync不接受CancellationToken TcpClient GetStream返回一个NetworkStream这不尊重Cancellati
  • Android 中的 java.lang.ExceptionInInitializerError

    我正在尝试创建一个可以验证人脸的 Android 应用程序 但是当我尝试在模拟器上运行我的应用程序 使用 Eclipse 时 我的 logcat 中出现以下结果 06 16 14 51 24 326 E AndroidRuntime 430
  • Spring boot JPA - 没有具有 OneToMany 关系的嵌套对象的 JSON

    我有一个项目处理对象的一些 ORM 映射 有一些 OneToMany关系等 我使用 REST 接口来处理这些对象 并使用 Spring JPA 在 API 中管理它们 这是我的 POJO 之一的示例 Entity public class
  • Django - 管理中的 UserProfile m2m 字段 - 错误

    我的模型 class UserProfile models Model TYPES CHOICES 0 u teacher 1 u student user models ForeignKey User unique True type m
  • 对于长度变化很大的输入,最佳 StringBuffer 初始容量是多少?

    大家下午好 我正在使用java lang StringBuilder来存储一些字符 我不知道要提前存储多少个字符 除了 60 的情况下 它只有 恰好 7 个字符 39 的情况下 它 大约 为 3500 个字符 1 的情况下 大约是 20k
  • Flask AttributeError:模块“app”没有属性“run”

    我的 Flask 项目的结构如下 my project app init py api static templates config py run py 应用程序 init py from flask import Flask app F