Django - App Engine 上的独角兽。错误:“没有名为 my_project 的模块”

Posted

技术标签:

【中文标题】Django - App Engine 上的独角兽。错误:“没有名为 my_project 的模块”【英文标题】:Django - gunicorn on App Engine. Error: 'No Module Named 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 找到。 【参考方案1】:

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

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

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

【讨论】:

以上是关于Django - App Engine 上的独角兽。错误:“没有名为 my_project 的模块”的主要内容,如果未能解决你的问题,请参考以下文章

Google App Engine 上的 Django-nonrel,出现错误我正在使用 Django 0.96

App Engine上的Django vs webapp2 [关闭]

带有 if 语句的 Google App Engine 上的 Django 模板

在 App Engine 上的 Django 应用上存储客户端机密

如何在 Google App Engine Python 上的 Django nonrel 中使用查询游标?

python app-engine django 1.2上的TemplateDoesNotExist,同时模板呈现绝对路径