Erreur après upgrade 2.4.10
#1
Lorsque je tente une mise à jour des versions 2.4.9 à 2.4.10, j'obtiens l'erreur suivante lors de l'execution de la commande "creme migrate" (déploiement docker) :

Code :
[2024-02-15 11:10:21] WARNING - creme.creme_core.utils.imports : An error occurred trying to import "creme.billing.exporters.xhtml2pdf.Xhtml2pdfExportEngine": [cannot import name 'ShowBoundaryValue' from 'reportlab.platypus.frames' (/srv/creme/venv/lib/python3.8/site-packages/reportlab/platypus/frames.py)]
Traceback (most recent call last):
  File "/srv/creme/venv/bin/creme", line 8, in <module>
    sys.exit(execute())
  File "/srv/creme/venv/lib/python3.8/site-packages/creme/manage.py", line 39, in execute
    execute_from_command_line(argv)
  File "/srv/creme/venv/lib/python3.8/site-packages/django/core/management/__init__.py", line 419, in execute_from_command_line
    utility.execute()
  File "/srv/creme/venv/lib/python3.8/site-packages/django/core/management/__init__.py", line 413, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "/srv/creme/venv/lib/python3.8/site-packages/django/core/management/base.py", line 354, in run_from_argv
    self.execute(*args, **cmd_options)
  File "/srv/creme/venv/lib/python3.8/site-packages/django/core/management/base.py", line 398, in execute
    output = self.handle(*args, **options)
  File "/srv/creme/venv/lib/python3.8/site-packages/django/core/management/base.py", line 89, in wrapped
    res = handle_func(*args, **kwargs)
  File "/srv/creme/venv/lib/python3.8/site-packages/django/core/management/commands/migrate.py", line 75, in handle
    self.check(databases=[database])
  File "/srv/creme/venv/lib/python3.8/site-packages/django/core/management/base.py", line 419, in check
    all_issues = checks.run_checks(
  File "/srv/creme/venv/lib/python3.8/site-packages/django/core/checks/registry.py", line 76, in run_checks
    new_errors = check(app_configs=app_configs, databases=databases)
  File "/srv/creme/venv/lib/python3.8/site-packages/creme/billing/apps.py", line 47, in check_exporters
    for engine_cls in BillingExportEngineManager().engine_classes:
  File "/srv/creme/venv/lib/python3.8/site-packages/creme/billing/exporters/base.py", line 163, in engine_classes
    raise self.InvalidEngineClass(
creme.billing.exporters.base.InvalidEngineClass: "creme.billing.exporters.xhtml2pdf.Xhtml2pdfExportEngine" is an invalid path of <BillingExportEngine>.

Une idée de l'origine possible du problème ou de la façon dont je pourrai investiguer ça ?

Merci d'avance
  Répondre
#2
Bonjour,

ça ressemble au bug que corrige la version 0.2.15 de la lib xhtml2pdf ( https://xhtml2pdf.readthedocs.io/en/late...notes.html ). En attendant que je sorte des paquets pour Creme 2.4 & 2.5 qui corrige ça, vous devriez pouvoir contourner :

 - soit en installant xhtml2pdf en version 0.2.15 (à priori si vous avez au moins Python 3.8 ça devrait passer)
 - soit en limitant la version de reportlab (comme indiqué dans le lien audessus)
 - soit en modifiant la valeur de BILLING_EXPORTERS (dans votre settings.py) afin de ne pas utiliser 'creme.billing.exporters.xhtml2pdf.Xhtml2pdfExportEngine' (si vous exportez des facture/devis en PDF il faudra reconfigurer le bon moteur à utiliser).

Merci pour votre retour.

Bonne journée !

PS: la version 2.4.12 est sortie il y a 2 semaines. Si vous ne pouvez pas sauter de version majeure (pour passer de 2.3 à 2.5, vous devez passer par 2.4), vous pouvez tout à fait sauter de 2.4.9 à 2.4.12 directement (après c'est comme vous voulez).
  Répondre
#3
Thumbs Up 
Merci pour votre réponse rapide !

La réponse était effectivement de forcer la version du module xhtml2pdf en 0.2.15 
Je suis donc passé en version 2.4.12 

Bonne fin de journée
  Répondre


Atteindre :


Utilisateur(s) parcourant ce sujet : 2 visiteur(s)