Django-легко-pdf:требуется xhtml2pdf reporting reportlab 2.2+, но установлена версия 3.0

StackOverflow https://stackoverflow.com//questions/23058493

Вопрос

Я пытаюсь дать django-easy-pdf поехали, но у меня возникли проблемы с установкой зависимостей.

Я получаю ImportError: No module named xhtml2pdf.default при запуске Django.

Чтобы попытаться исправить ситуацию, я сделал pip install xhtml2pdf, но это приводит к Could not find any downloads that satisfy the requirement pyPdf (from xhtml2pdf).

Итак, давайте сделаем pip install --allow-unverified pyPdf pyPdf чтобы обойти это.Это завершилось без проблем.При повторении pip install xhtml2pdf, программное обеспечение устанавливается без проблем.

Однако при запуске Django 1.6 я получаю: ImportError: Reportlab Version 2.1+ is needed!.

Однако у меня установлена reportlab 2.2 или выше, поскольку pip freeze списки 3.0.

Похоже, что это жестко закодировано в нескольких файлах (util.py и __init__.py):

if not (reportlab.Version[0] == "2" and reportlab.Version[2] >= "1"):
    raise ImportError("Reportlab Version 2.1+ is needed!")

if not REPORTLAB22:
    raise ImportError, "Reportlab Toolkit Version 2.2 or higher needed"

Как это можно исправить (кроме как удалить эти проверки из исходного кода)?

Это было полезно?

Решение

Автор упоминает о https://github.com/nigma/django-easy-pdf:

django-easy-pdf depends on:
  django>=1.5.1
  git+https://github.com/chrisglass/xhtml2pdf.git

Необходимо установить эту конкретную версию, а не ту, которая доступна в pypi.Сначала удалите xhtml2pdf и pypdf с помощью pip uninstall, затем сделайте:

pip install git+https://github.com/chrisglass/xhtml2pdf.git

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top