尝试在Azure上部署Django服务器时出现“ ModuleNotFoundError:没有名为'django'的模块”

时间:2019-10-18 11:27:28

标签: python django azure azure-web-sites

尝试在Azure上部署Django网站后,出现错误消息:

ModuleNotFoundError: No module named 'django'

我在Django项目的根目录中添加了requirements.txt,是否还有其他内容?我曾尝试从Kudu BASH安装Django,但它卡在“清理”上。

这是完整的错误:https://pastebin.com/z5xxqM08

我使用Django-2.2和Python 3.6.8构建了网站。

1 个答案:

答案 0 :(得分:0)

只是概括为其他人的答案。根据您的错误信息,我可以看到您尝试将Django应用程序部署到基于Docker的Linux上的Azure WebApp。因此,有两个官方文档将对您有所帮助。

  1. Quickstart: Create a Python app in Azure App Service on Linux
  2. Configure a Linux Python app for Azure App Service

错误ModuleNotFoundError: No module named 'django'表示Azure Linux WebApp容器上没有安装django程序包。

由于以下#2文档的Container characteristics的内容,

enter image description here

  

要安装其他软件包,例如Django,请使用pip freeze > requirements.txt在项目的根目录中创建一个requirements.txt文件。然后,使用Git部署将项目发布到App Service,该部署会在容器中自动运行pip install -r requirements.txt以安装应用程序的依赖项。

因此,可能的原因是requirements.txt文件不在部署后的项目或容器的相应路径中,该路径应为/home/site/wwwroot/requirements.txt在容器或项目的根目录上,如官方示例Azure-Samples/djangoapp在GitHub上。