Django-facile-pdf:xhtml2pdf rapports reportlab 2.2+ est nécessaire, mais 3.0 est installé
Question
Je suis en train de donner django-easy-pdf
un aller, mais je vais avoir des problèmes pour l'installation de dépendances.
Je reçois ImportError: No module named xhtml2pdf.default
lors de l'exécution de Django.
Pour tenter de fixation, j'ai fait un pip install xhtml2pdf
, mais que les rendements Could not find any downloads that satisfy the requirement pyPdf (from xhtml2pdf)
.
Nous allons donc faire un pip install --allow-unverified pyPdf pyPdf
pour obtenir autour de cela.Cela sans problèmes.Lors de la répétition de l' pip install xhtml2pdf
, le logiciel est installé sans problème.
Cependant, lors du lancement de Django 1.6, j'obtiens: ImportError: Reportlab Version 2.1+ is needed!
.
J'ai reportlab 2.2 ou supérieur installé que, depuis un pip freeze
listes 3.0.
Il ressemble à ce qui est codé en dur dans quelques fichiers (util.py
et __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"
Comment cela peut-il être fixe (à l'exception de la suppression de ces contrôles à partir de la source)?
La solution
L'auteur mentionne sur https://github.com/nigma/django-easy-pdf:
django-easy-pdf depends on:
django>=1.5.1
git+https://github.com/chrisglass/xhtml2pdf.git
Cette version spécifique doit être installé, et non pas le seul disponible dans pypi.D'abord désinstaller xhtml2pdf et pypdf à l'aide de pip uninstall
, puis faire:
pip install git+https://github.com/chrisglass/xhtml2pdf.git