【问题标题】:Django - gunicorn on App Engine. Error: 'No Module Named my_project'Django - App Engine 上的独角兽。错误:“没有名为 my_project 的模块”
【发布时间】:2018-05-29 22:27:28
【问题描述】:

我正在尝试将我的 Django(v2.0) 应用程序上传到 Google App Engine,但 Gunicorn(v19.7.1) 找不到我的应用程序。当我使用gcloud app deploy 部署我的应用程序时出现错误

'没有名为 AppFlex 的模块'

错误和 app.yaml 配置的完整屏幕截图如下。

wsgi.py的内容是:

os.environ.setdefault("DJANGO_SETTINGS_MODULE", "AppFlex.settings")

application = get_wsgi_application()

此外,我可以使用以下方式在本地运行应用程序:

gunicorn AppFlex.wsgi --workers 16

另一个我可以在本地使用 gunicorn 运行应用程序的屏幕截图:

【问题讨论】:

  • solarissmoke 回答有帮助吗?
  • 您好,是的,抱歉,忘记将其标记为正确。我不得不用小写字母重新安装所有东西。否则,使用 run server 命令运行时会出错,但可以为 gunicorn 找到。

标签: django google-app-engine gunicorn


【解决方案1】:

我认为问题在于您的顶级模块 (AppFlex) 是驼峰式大小写的,出于某种原因,App Engine 只需要小写模块名称。

如果您将模块名称更改为 appflex 并更新 app.yaml 中的相应配置以及引用您的顶级模块的任何其他位置(例如,在 wsgi.pi 中),它应该可以工作。

我不太清楚 App Engine 为何这样做,但它是 convention for modules to be lower case,我强烈建议您遵循该约定。

【讨论】:

    猜你喜欢
    • 2017-07-22
    • 2015-09-02
    • 1970-01-01
    • 1970-01-01
    • 2016-05-22
    • 2020-01-18
    • 2015-04-24
    • 2018-08-05
    • 1970-01-01
    相关资源
    最近更新 更多