Gunicorn 无法加载 Flask 应用程序

2024-03-23

我有一个 Flask 应用程序,我试图通过 Gunicorn 提供服务。

我正在使用 virtualenv 和 python3。如果我将 venv cd 激活到我的应用程序基目录,然后运行:

gunicorn mysite:app

I get:

Starting gunicorn
Listening at http://127.0.0.1:8000
DEBUG:mysite.settings:>>Config()
...
Failed to find application: 'mysite'
Worker exiting
Shutting down: master
Reason: App failed to load

查看 /etc/nginx/sites-available 我只有文件“default”。在启用站点中我没有文件。

在我的 nginx.conf 文件中,我有:

include /etc/nginx/conf.d/*.conf;
include /etc/nginx/sites-enabled/*;

应用程序结构:

mysite    #this is where I cd to and run gunicorn mysite:app
--manage.py
--/mysite
----settings.py
----__init__.py

in manage.py对于我的网站,我有以下内容:

logger.debug("manage.py entry point")
app = create_app(app_name)
manager = Manager(app)

if __name__ == "__main__":
    manager.run()

In __init__.py file:

def create_app(object_name):
    app = Flask(__name__)
    #more setup here
    return app

In my settings.py在应用程序目录中

class Config(object):
    logger.debug(">>Config()")  #this logs OK so gunicorn is at least starting in correct directory

如果我运行,则从 virtualenv 内部

print(sys.path)

我找到了这个 virtualenv 的 python 和站点包的路径。

根据我所读到的内容,启动gunicorn只需安装并运行gunicorn mysite:app即可

从 mysite 的父目录运行 Gunicorn 我得到同样的 failed to find application: 'mysite', App failed to load 错误,但没有记录 DEBUG...Config() (因为我们显然位于错误的目录中)开始)。从 mysite/mysite 运行 Gunicorn(明显错误),我在工作进程中遇到异常,ImportError: No module named 'mysite'。

关于如何让gunicorn运行的任何线索?


你用枪指着mysite:app,这相当于from mysite import app。然而,没有app顶部的对象(__init__.py) 级别导入mysite。告诉gunicorn给工厂打电话。

gunicorn "mysite:create_app()"

您也可以将参数传递给调用。

gunicorn "mysite:create_app('production')"

在内部,这相当于:

from mysite import create_app
app = create_app('production')

或者,您可以使用单独的文件来进行设置。就您而言,您已经初始化了app in manage.py.

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

Gunicorn 无法加载 Flask 应用程序 的相关文章

  • “NoneType”对象不可订阅?

    list1 name1 info1 10 list2 name2 info2 30 list3 name3 info3 50 MASTERLIST list1 list2 list3 def printer lst print Availa
  • 理解Python中的元类和继承[重复]

    这个问题在这里已经有答案了 我对元类有一些困惑 具有继承性 class AttributeInitType object def init self kwargs for name value in kwargs items setattr
  • 数据操作 startdate enddate python pandas

    我有一个促销描述数据集 其中包含有关正在运行的各种促销活动及其开始日期 结束日期的信息 promo item start date end date Buy1 get 1 A 2015 01 08 2015 01 12 Buy1 get 1
  • 箱线图与箱线图有何不同?

    我想知道当我们在海生图书馆中有箱线图时为什么会有箱线图 我知道一件事是箱线图优化了表示数据的方式 特别是对于大型数据集 但我不知道为什么 除此之外 我没有任何充分的理由使用箱线图 箱线图将中位数显示为中心线 第 50 个百分位数 然后将第
  • 识别 Windows 版本

    我正在编写一个打印出详细 Windows 版本信息的函数 输出可能是这样的元组 32bit XP Professional SP3 English 它将支持 Windows XP 及更高版本 我一直坚持获取 Windows 版本 例如 专业
  • 映射器无法组装任何主键列

    我从 sqlite 表创建了一个临时表 该表是基于各种选择标准的原始表的子集 屏幕截图中有一个示例 我试图一次循环一个表记录 以便更新每个记录中的字段 我有 source table self source engine create en
  • 通过 Python 在 PostgreSQL 中的 unicode 字符串中是否允许空字节?

    unicode 字符串中是否允许空字节 我不问 utf8 我的意思是 unicode 字符串的高级对象表示 背景 我们通过 Python 在 PostgreSQL 中存储包含空字节的 unicode 字符串 如果我们再次读取字符串 字符串会
  • 设置区域设置和字符串模块

    这个简单的脚本 from locale import LC ALL setlocale print setlocale LC ALL from string import letters print letters 给我这个输出 tr TR
  • Python 中 Goto 标签的替代方案?

    我知道我不能使用 Goto 我也知道 Goto 不是答案 我读过类似的问题 但我只是想不出解决我的问题的方法 所以 我正在编写一个程序 你必须在其中猜测一个数字 这是我遇到问题的部分的摘录 x random randint 0 100 I
  • 如何将 Jinja 与 Twisted 一起使用?

    我正在计划使用 Python 与 Twisted Storm 和 Jinja 一起开发一个讨论软件 问题是 Jinja 不是为 Twisted 或异步套接字库而设计的 并且使用 Twisted 提供的性能是我不打算使用 Flask 的原因
  • 调试 python Web 服务

    我正在使用找到的说明here http www diveintopython net http web services user agent html 尝试检查发送到我的网络服务器的 HTTP 命令 但是 我没有看到按照教程中的建议在控制
  • 如何点击 Google Trends 中的“加载更多”按钮并通过 Selenium 和 Python 打印所有标题

    这次我想单击一个按钮来加载更多实时搜索 这是网站的链接 该按钮位于页面末尾 代码如下 div class feed load more button Load more div 由于涉及到一些 AngularJS 我不知道该怎么做 有什么提
  • 计算素数并附加到列表

    我最近开始尝试使用 python 解决 Euler 项目的问题 并且在尝试计算素数并将其附加到列表中时遇到了这个障碍 我编写了以下代码 但我很困惑为什么它在运行时不输出任何内容 import math primes def isPrime
  • Windows 10 上的 Tensorflow 安装问题

    我正在尝试在 Win 10 计算机上安装 Tensorflow 我成功安装了Python 3 7 然后尝试按照tensorflow org上的安装说明进行操作 执行时 pip install tensorflow 我收到以下错误消息 错误
  • 使用 boto3 将 csv 文件保存到 s3

    我正在尝试写入 CSV 文件并将其保存到 s3 中的特定文件夹 存在 这是我的代码 from io import BytesIO import pandas as pd import boto3 s3 boto3 resource s3 d
  • Python中如何实现相对导入

    考虑 stuff init py mylib py Foo init py main py foo init py script py script py想要进口mylib py 这只是一个示例 但实际上我只想在父目录中进行模块的相对导入
  • 矩阵求逆 (3,3) python - 硬编码与 numpy.linalg.inv

    对于大量矩阵 我需要计算定义为的距离度量 尽管我确实知道强烈建议不要使用矩阵求逆 但我没有找到解决方法 因此 我尝试通过对矩阵求逆进行硬编码来提高性能 因为所有矩阵的大小均为 3 3 我预计这至少会是一个微小的改进 但事实并非如此 为什么
  • mypy 错误:赋值中的类型不兼容(表达式的类型为“Dict[, ]”,目标的类型为“List[str]”)

    我尝试过了实例化一个空字典在现有字典的第二层上 然后为其分配一个键值对 但 MyPy 会抛出错误 这是一个最小的示例 当激活 MyPy 检查时它将重现它 result Test something result key result key
  • 继承自 NumPy 数组的类如何更改其自身的值?

    我有一个继承自 NumPy n 维数组的简单类 我想要该类的两个方法可以更改该类实例的数组值 其中一种方法应将类实例的数组设置为类实例的列表数据属性的值 另一种方法应将一些列表值附加到类实例的数组中 我不确定如何实现这一点 但我的尝试如下
  • 如何访问模板缓存? - 姜戈

    I am 缓存 HTML在几个模板内 例如 cache 900 stats stats endcache 我可以使用以下方式访问缓存吗低级图书馆 例如 html cache get stats 我确实需要对模板缓存进行一些细粒度的控制 有任

随机推荐

  • 将 nlog 中的记录添加到 dataType = date 的字段

    I use nlogdll 写入数据库 Oracle 与实体框架在行中 logger Log logLevel try 我在 nlog 日志中收到以下错误 文字与模板字符串不匹配 代码是 SetPropGDC LogEntity NLog
  • 在 Windows 上使用 Xerces 3.0.1 和 C++ 编写 XML

    我编写了以下函数来使用 Xerces 3 0 1 创建 XML 文件 如果我使用 foo xml 或 foo xml 的文件路径调用此函数 它会很好用 但如果我传入 c foo xml 然后我在这一行得到一个异常 XMLFormatTarg
  • C#通过OLEDB从Excel中提取格式化文本

    我正在从一个大的数据中读取数据excel已格式化文本的文件 我将数据提取到DataTable对象通过oleDBConnection GetOleDbSchemaTable 但提取的数据不包含任何格式化信息 我的要求是 我只需要提取非删除线文
  • 如何使用 Android Gradle 插件 0.7 配置 NDK

    新的 Android gradle 插件 0 7 似乎包含了对 NDK 的新支持 但在文档中几乎没有提到它 我找到的唯一参考是一个名为ndkSanAngeles https android googlesource com platform
  • 优化 Excel 公式 - SUMPRODUCT 与 SUMIFS/COUNTIFS

    根据一些网站的说法 SUMIFS 和 COUNTIFS 比 SUMPRODUCT 更快 例如 http exceluser com blog 483 excels sumifs or sumproduct which is faster h
  • 用于提供静态内容的 Servlet

    我在两个不同的容器 Tomcat 和 Jetty 上部署了一个 web 应用程序 但它们用于提供静态内容的默认 servlet 有不同的方式来处理我想要使用的 URL 结构 details http issues apache org bu
  • 除主活动外,其他活动中没有应用栏和抽屉

    主要活动 public class MainActivity extends AppCompatActivity Override protected void onCreate Bundle savedInstanceState supe
  • 何时使用 Dart 中的接口?

    我正在阅读 Dart 的文档 对于如何使用接口 我有点困惑 也许是因为我来自 Ruby 当然 接口并不是 Dart 所独有的 关于何时应该使用接口有很多解释 This one https stackoverflow com question
  • Web 开发 - 对象数据库与关系数据库

    使用对象数据库或关系数据库进行涉及大量 CRUD 的常规 Web 开发有何优缺点 更新 我重新打开了赏金奖励 以便给内维尔 OODBMS 的概念已经被打破 过去几十年中出现的各种商业和免费产品几乎没有在市场上产生影响 就您可以向数据提出的问
  • 无法从 Play 商店生产区域停用 Android 分阶段推出应用程序

    我们将一款 Android 应用上传到 Play 商店 分阶段向 5 的市场推出 不确定谷歌在这里如何定义市场 但这是另一个问题 我们决定删除该应用程序并恢复之前发布的应用程序 然而 这似乎是不可能做到的 当我在开发人员控制台上切换到高级模
  • SQL Server 是否优化 LIKE ('%%') 查询?

    我有一个存储过程 它对记录执行搜索 问题是一些来自 UI 的搜索条件可能是空字符串 因此 当未指定条件时 LIKE 语句就变得多余 如何有效地执行该搜索或 Sql Server 或者 它是否优化 LIKE 查询 因为这意味着没有什么可比较的
  • 数据点更改后插入行

    我有一个数据集 如下所示 This1 GH This2 GH This3 GH This4 BR This5 BR This6 VB 当数据点发生变化时 即 GH 变为 BR 时 我希望 Excel 插入换行符 所以最终的数据看起来像这样
  • 在下载管理器中,如何在通知栏“取消”时获取状态?

    我正在使用下载管理器在 Android 中下载文件 但是 当点击通知栏上的 取消 按钮时 我无法收到任何广播 我只找到两个广播 1 DownloadManager ACTION DOWNLOAD COMPLETE 2 DownloadMan
  • 使用 Bootstrap 2 将某些地方的字形颜色更改为蓝色,但不是全部地方

    我的 UI 使用 Bootstrap 框架 我想将字形的颜色更改为蓝色 但不是在所有地方 在某些地方它应该使用默认颜色 我已经参考了这两个链接 但没有发现任何有用的信息 我可以仅使用 CSS 为 bootstrap 图标添加颜色吗 http
  • 动态更改母版页中的菜单类别

    我如何更改母版页中菜单的 CSS 类名称 子页面 当菜单的任何子形式打开时 我想将类更改为 活动 有可用的 C 或 JavaScript 代码吗 Thanks 通过理解你的问题 我认为你想在页面更改时更改 li 的类或菜单中使用的任何标签
  • Ms Access 是 DBMS 还是 RDBMS?

    Ms Access 是 DBMS 还是 RDBMS 我也在谷歌上找到这个问题的答案 但在一些网站或博客中说它是DBMS 而另一些则说它是RDBMS 那么正确答案是什么 请理解为什么是 DBMS 或 RDBMS 简答 Both Detail
  • 在嵌套的 If 中应用两个条件或与 And 一起使用单个条件哪个更好? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 嵌套 If 或单个 if 与 And 运算符 哪个是更好的方法 单个 If 与 And if txtPackage Text string Em
  • GWT 程序是否有办法判断它是处于托管模式还是 Web 模式?

    我希望我的 GWT 程序能够确定它是处于托管模式还是 Web 模式 有没有办法做到这一点 Thanks GWT isScript 在非托管模式下返回 true 在托管模式下返回 false http google web toolkit g
  • QThread 正在造成内存泄漏

    经过对我的 QT 应用程序进行大量测试和更改后 Visual Leak Detector 识别出了令人讨厌的泄漏源 8 字节 VLD 报告 QT 应用程序是干净的 除了QThread 指针 一些实现背景 该应用程序由 Jeffrey Hol
  • Gunicorn 无法加载 Flask 应用程序

    我有一个 Flask 应用程序 我试图通过 Gunicorn 提供服务 我正在使用 virtualenv 和 python3 如果我将 venv cd 激活到我的应用程序基目录 然后运行 gunicorn mysite app I get