当azure应用程序重新启动时,通过SSH安装的Python包被删除

标签 python django azure azure-web-app-service

我已使用 Zip Deploy 和 FTP 将 Django 应用程序上传到 azure 服务器 Web 应用程序上。部署后,它给出错误“sndlibrary not found”,所以我需要转到 ssh 并使用命令 apt update && apt-get -y install libsndfile1-dev 手动安装它。所以问题是,每当应用程序(容器)重新启动时,它都会再次显示相同的错误,我再次需要从 ssh 安装该包。该包在重新启动时不会保留。那么有什么方法可以将该包保留在应用程序上重新启动?

我还尝试在 wwwroot 路径上使用startup.sh 脚本,但运行时显示错误“无法找到包”。

startup.sh: Startup File

收到此错误: Error Could not locate package

最佳答案

每次重新启动容器时,如果重建镜像,则会从您的 requirements.txt 文件安装软件包。您所要做的只是将其添加到您的 requirements.txt 文件中。您可以手动执行此操作,也可以使用命令pip freeze

如果您使用的是 docker,则命令为

docker exec <container_name> pip freeze > requirements.txt

否则,如果您位于运行时环境(Azure VM 或 docker 容器)内,只需 pip freeze >requirements.txt 即可。

关于当azure应用程序重新启动时,通过SSH安装的Python包被删除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74137290/

相关文章:

python - 在 django 中将视频编码为多种分辨率的最佳方法是什么?我们应该创建一个 celery 任务还是要编码多个任务?

url - Azure 站点 URL 添加额外文本

powershell - 如何使用 Windows Azure Powershell 命令获取 Azure 角色实例

python - 未能正确遍历我的列表

python - 跳过从正则表达式中的字符开始

python - 按成员在另一个列表中的顺序对列表元素进行分组

django - 禁用 gmail 中不太安全的应用程序设置后立即发送邮件进行测试

python - 如何在 Python < 3 中将 UTF-8 编码的文本打印到控制台?

python - 具有大对象的 Memcached(NetworkX 图)

python - 在 Azure ML Python 脚本中读取多个 CSV 文件