python - 如何将 doc2pdf 添加到自定义 docker 容器

标签 python docker

我想使用 doc2pdf我的程序 python:3.9-slim-bullseye容器

我添加了 libreoffice-writer unoconv到我的容器

Dockerfile

FROM python:3.9-slim-bullseye
WORKDIR /project
ENV PYTHONDONTWRITEBYTECODE=1 \
    PYTHONBUFFERED=1

COPY . .
RUN apt-get update && apt-get install --no-install-recommends -y \
    libreoffice-writer unoconv \
    gcc libc-dev libpq-dev  python-dev libxml2-dev libxslt1-dev python3-lxml && apt-get install -y cron &&\
    pip install --no-cache-dir -r requirements.txt

然后我登录我的容器并收到以下错误

docker-exec -ti <Container_NAME> bash

root@cfdbb27947c6:/project/documents_app/templates# doc2pdf doc_1.docx 
unoconv: Cannot find a suitable pyuno library and python binary combination in /usr/lib/libreoffice
ERROR: No module named 'uno'

unoconv: Cannot find a suitable office installation on your system.
ERROR: Please locate your office installation and send your feedback to:
       http://github.com/dagwieers/unoconv/issues
root@cfdbb27947c6:/project/documents_app/templates# 

如何修复错误?

更新 1 正在尝试安装 python3-uno但这并没有帮助

还加了这个

uno==0.3.3
base==1.0.4
unotools

还是有错误

最佳答案

试试这个:

sed -i 's|#!/usr/bin/env python3|#!/usr/bin/python3|' /usr/bin/unoconv

在以下链接下找到此解决方案:https://github.com/unoconv/unoconv/issues/49

关于python - 如何将 doc2pdf 添加到自定义 docker 容器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72746661/

相关文章:

python - 如何使用正则表达式在字符串中查找美国邮政编码?

c# - Docker 中的剧作家不工作 : Microsoft. Playwright.PlaywrightException:可执行文件不存在

docker - 为什么我无法 ping 我的 docker 容器?

docker - 在 docker 中禁用 redis 持久化

python - 为什么我的 isclass 函数会得到 false?

python - 如何在不输入所有列名称的情况下使用 pyodbc 执行许多插入?

python - 我可以将图像上传到特定目录,但无法在模板中查看它们(找不到页面(404))