WARNING: Could not find packages folder or virtual environment. ModuleNotFoundError: No module named 'xxxxx' in Azure App Services

WARNING: Could not find packages folder or virtual environment. ModuleNotFoundError: No module named 'xxxxx' in Azure App Services

我在部署到 Azure 应用服务 linux 的 Python 应用程序中出现以下错误。

2019-03-27T21:19:19.356340459Z WARNING: Could not find packages folder or virtual environment.
2019-03-27T21:19:19.356340459Z   File "/home/site/wwwroot/application.py", line 3, in 
2019-03-27T21:19:19.356344259Z     from passlib.hash import pbkdf2_sha256
2019-03-27T21:19:19.356347559Z ModuleNotFoundError: No module named 'passlib'

如果我使用 pandas 也是一样,所以似乎与图书馆无关。

虽然我已将文件添加到我的 requirements.txt 中,但它不是 运行 作为安装的一部分。

Flask==1.0.2
passlib==1.7.1
functools==3.3.0

环境是 Linux 在 Azure 应用服务上。这些是我遵循的步骤,

https://code.visualstudio.com/docs/python/tutorial-deploy-app-service-on-linux

我尝试使用 Kudo BASH 连接到环境,但是在检查 python 版本时,每个部署的版本是 2.7 而不是 3.7。我想知道我是否在 host os 而不是 docker 容器中,站点是 hosted in。(Bug/Issue?)。我可以在 /home/site/wwwroot 下找到部署,我尝试使用 pip 安装 requirement.txt。由于它不是网站上 pyton 运行ning 的版本,我认为这就是它失败的原因。它将收集库但不会继续进行。

我无法 SSH,这似乎已关闭,它永远无法连接到该站点。

我已经尝试了开发和生产计划。

我不想自己部署 docker,因为目标是让 MS 管理整个环境的补丁。

实际上是 functools==3.7 导致所有安装失败。似乎作为一个包不可用,但无论如何都包含在内,因为 Wraps 可以在没有它的情况下工作。

我能够在 logs/kudu/deployment 下找到导致此发现的部署日志。