Google App Engine部署Streamlit应用遇libsndfile.so加载失败问题
解决GAE部署Streamlit应用时的libsndfile.so缺失问题
你安装的libsndfile1-dev是开发包,仅包含编译所需的头文件和静态库,不包含运行时依赖的共享库文件libsndfile.so。运行时需要安装libsndfile1这个主包。
修改Dockerfile中的安装命令,将libsndfile1-dev替换为libsndfile1;如果你的应用编译阶段需要开发包,也可以同时安装两者:
RUN apt-get update && apt-get install -y \ build-essential \ software-properties-common \ ffmpeg \ libsndfile1 \ libsndfile1-dev \ && rm -rf /var/lib/apt/lists/*
若应用无需编译环节,仅保留libsndfile1即可。
修改后重新构建Docker镜像并推送到GAE,即可解决共享库缺失问题。另外pip install soundfile是必要操作,它依赖系统级的libsndfile库,需确保系统库安装正确后再安装Python包。
内容的提问来源于stack exchange,提问作者Aaron
相关产品推荐
相关产品推荐

