在将streamlit应用程序docker化时遇到错误:NotImplementedError:docx2pdf在Linux上未实现,因为需要安装Microsoft Word
我做了一个streamlit应用,现在想把它放到Docker里。我的这个应用里用到了一个叫docx2pdf的Python库。我已经创建了Docker镜像,然后想在本地打开这个应用,但遇到了上面提到的错误。
另外,我是在Windows的命令提示符下,用Docker Desktop来构建这个镜像的。
1 个回答
1
这个错误信息告诉你所有你需要知道的事情。还有这个docx2pdf的页面也有说明:
在Windows或macOS上直接使用Microsoft Word将
docx
文件转换为
要让这个库正常工作,你必须先安装MS Word。如果你是在容器中使用它,那么这个容器也需要安装MS Word,或者需要docx2pdf
使用的相关库。所以你需要使用Windows容器,而不是Linux容器——Docker Desktop在Windows上可以支持这两种容器。同时,你还需要安装MS Word运行所需的操作系统环境。
另外,你也可以选择一个不需要MS Word的库。不过这里不适合推荐库的选择。