首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >码头ModuleNotFoundError:没有名为“xhtml2pdf”的模块

码头ModuleNotFoundError:没有名为“xhtml2pdf”的模块
EN

Stack Overflow用户
提问于 2021-08-06 15:43:23
回答 1查看 667关注 0票数 0

我看过几个网站,但似乎找不到答案。我是django和docker的新手,在构建我的第一个项目(也就是报价生成器)时,我一直在寻找不同的方法来为每个报价生成一个pdf。

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

ModuleNotFoundError: No module named 'xhtml2pdf'

我使用xhtml2pdf安装了pip3 install xhtml2pdf,每当我再次尝试运行它时,就会得到:Requirement already satisfied: xhtml2pdf,与它的依赖项相同。

我也在没有运气的情况下尝试过pip install --upgrade --force-reinstall xhtml2pdf

在我的views.py文件中,如果我编写from xhtml2pdf import pisa vs代码,则不会出现有关导入的错误。

我的requirements.txt看起来像这样:

代码语言:javascript
复制
psycopg2==2.9.1
pillow>=8.3
xhtml2pdf==0.2.5
reportlab==3.6.1

Dockerfile:

代码语言:javascript
复制
FROM python:3.8

ENV PYTHONDONTWRITEBYTECODE 1
ENV PYTHONUNBUFFERED 1

WORKDIR /code


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

COPY . .
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-08-06 16:43:36

您必须先在requirements.txt中添加新包才能安装映像。简单地运行docker-compose up将只运行您以前构建的映像。当然,该映像不包含新的pip包xhtmltopdf

使用

代码语言:javascript
复制
docker-compose build

然后

代码语言:javascript
复制
docker-compose up

或者您可以使用以下命令立即执行此操作

代码语言:javascript
复制
docker-compose up --build

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

代码语言:javascript
复制
docker-compose build --no-cache
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68684314

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档