【问题标题】:Docker ModuleNotFoundError: No module named 'xhtml2pdf'Docker ModuleNotFoundError:没有名为“xhtml2pdf”的模块
【发布时间】:2021-08-06 15:43:23
【问题描述】:

我浏览了几个网站,但似乎找不到答案。 我是 django 和 docker 的新手,我正在构建我的第一个项目,这是一个报价生成器,我一直在寻找为每个报价生成 pdf 的不同方法。

我在 xhtml2pdf 上找到了一些教程,当我尝试运行时出现错误 docker-compose up 并得到以下错误:

ModuleNotFoundError: No module named 'xhtml2pdf'

我已经使用pip3 install xhtml2pdf 安装了 xhtml2pdf 每当我尝试再次运行它时,我都会得到: Requirement already satisfied: xhtml2pdf,其依赖项也一样。

我也试过 pip install --upgrade --force-reinstall xhtml2pdf 没有运气

在我的 views.py 文件上,如果我写 from xhtml2pdf import pisa vs 代码不会给我关于导入的错误

我的 requirements.txt 如下所示:

psycopg2==2.9.1
pillow>=8.3
xhtml2pdf==0.2.5
reportlab==3.6.1

Dockerfile:

FROM python:3.8

ENV PYTHONDONTWRITEBYTECODE 1
ENV PYTHONUNBUFFERED 1

WORKDIR /code


COPY requirements.txt .
RUN pip install -r requirements.txt

COPY . .

【问题讨论】:

    标签: python django docker docker-compose


    【解决方案1】:

    在您的 requirements.txt 中添加新软件包后,您必须先构建映像才能安装它们。只需运行docker-compose up 即可运行您之前构建的映像。该图像肯定不包含新的 pip 包xhtmltopdf

    使用

    docker-compose build
    

    然后

    docker-compose up
    

    或者你可以使用下面的命令一次性完成

    docker-compose up --build
    

    如果您想完全从头开始构建图像,请使用

    docker-compose build --no-cache
    

    【讨论】:

    • 谢谢,帮了大忙!
    猜你喜欢
    • 1970-01-01
    • 2021-11-03
    • 1970-01-01
    • 2022-07-15
    • 1970-01-01
    • 2019-03-28
    • 1970-01-01
    • 2022-01-07
    • 2017-12-14
    相关资源
    最近更新 更多