xhtml2pdf / xhtml2pdf

A library for converting HTML into PDFs using ReportLab

Home Page:https://xhtml2pdf.readthedocs.io/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

broken reportlab import

jeverling opened this issue · comments

Hi, it looks like there was a reportlab release today: https://pypi.org/project/reportlab/4.1.0/#history

This seems to lead to a broken import:

File "/usr/local/lib/python3.8/site-packages/xhtml2pdf/context.py", line 30, in <module>
    from reportlab.platypus.frames import Frame, ShowBoundaryValue
ImportError: cannot import name 'ShowBoundaryValue' from 'reportlab.platypus.frames' (/usr/local/lib/python3.8/site-packages/reportlab/platypus/frames.py)

Presumably this functionality changed in reportlab.
Maybe it would be a good idea, to pin the version of reportlab more strictly? Right now it's "reportlab>=4.0.4".

+1, seems like this error came with reportlab upgrade to version 4.1.0

https://pypi.org/project/reportlab/#history

Oh my, another package failing because of a sub-dependency removing functionality. I hate it so much!

Sorry guys for the inconvenience, I pinned reportlab<4.1 now, hopefully this fixes the issue until we can have a closer look how we can replace the missing reportlab function.

Oh my, another package failing because of a sub-dependency removing functionality. I hate it so much!

I understand your frustration, but please keep in mind that you're using free and open source software, so don't be mad at people who sacrifice a little of their free time to maintain a legacy project.

I understand.

I guess my comment was more geared towards the fact that this happens quite frequently, for various packages.

Thanks for your efforts

reportlab<4.1 is not sufficient - the change happened in reportlab==4.0.9.1: https://hg.reportlab.com/hg-public/reportlab/rev/f639b3f1d8b0 https://hg.reportlab.com/hg-public/reportlab/file/tip/CHANGES.md

The new import seems to be from reportlab.pdfgen.canvas import ShowBoundaryValue.

reportlab==4.0.9 is working, thanks everyone!