我已使用 Zip Deploy 和 FTP 将 Django 应用程序上传到 azure 服务器 Web 应用程序上。部署后,它给出错误“sndlibrary not found”,所以我需要转到 ssh 并使用命令 apt update && apt-get -y install libsndfile1-dev
手动安装它。所以问题是,每当应用程序(容器)重新启动时,它都会再次显示相同的错误,我再次需要从 ssh 安装该包。该包在重新启动时不会保留。那么有什么方法可以将该包保留在应用程序上重新启动?
我还尝试在 wwwroot 路径上使用startup.sh 脚本,但运行时显示错误“无法找到包”。
最佳答案
每次重新启动容器时,如果重建镜像,则会从您的 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/