首页 > 解决方案 > ModuleNotFoundError:在 Azure 上部署没有名为“django”的模块

问题描述

我正在尝试将 django Web 应用程序部署到 Microsoft Azure,这已由 DevOps Azure 上的管道正确部署,但我在门户 Azure 上收到错误消息 (ModuleNotFoundError: No module named 'django) 并且无法通过以下方式访问我的应用程序网址。该应用程序在本地也可以正常工作这是整个错误消息:'''https://pastebin.com/mGHSS8kQ'''

我该如何解决这个错误?

标签: pythondjangoazureazure-web-app-serviceazure-web-app-for-containers

解决方案


我了解您已尝试过共享的 SO 线程 Eyap 中建议的步骤,而这里的一些内容已经涵盖了这一点。请检查这些设置。

您可以改用此命令 - source /antenv3.6/bin/activate

附带说明 - antenv 仅在启动部署后才可用。请检查 SSH 中的“/”路径,您应该会看到一个名称以 antenv 开头的文件夹。

浏览到 .python_packages/lib/python3.6/site-packages/ 或 .python_packages/lib/site-packages/。请检查文件路径是否存在。

从 Kudu- https://< yourwebpp-name>.scm.azurewebsites.net/api/logs/docker查看应用程序日志(/home/LogFiles 文件夹)

应用服务部署引擎自动激活虚拟环境并运行

pip install -r requirements.txt

requirements.txt 文件必须位于项目根目录中才能安装依赖项。

对于 Django 应用,应用服务会在应用代码中查找名为 wsgi.py 的文件,然后使用以下命令运行 Gunicorn:

是包含 wsgi.py 的文件夹的名称

gunicorn --bind=0.0.0.0 --timeout 600 .wsgi

如果您想对启动命令进行更具体的控制,请使用自定义启动命令,替换为包含 wsgi.py 的文件夹的名称,如果该模块不在项目根目录中,则添加 --chdir 参数。

有关更多详细信息,请查看此文档

为 Azure 应用服务配置 Linux Python 应用

快速入门:在 Linux 上的 Azure 应用服务中创建 Python 应用


推荐阅读