Seite 1 von 1

Py2exe und Reportlab Problem

Verfasst: Mittwoch 26. Oktober 2011, 10:17
von ScooB
Hi
ich möchte gern aus meinem Python Programm eine EXE erstellen.
Zur EXE Erstellung benutze ich Py2exe.
Es funktioniert soweit allerdings wenn ich meine Klassen zur PDF Erstlleung einbinde, welche ich mit ReportLab erstelle,
dann bindet er mir die ReportLab Bibliotheken nicht mit ein
und bringt mir diesen Fehler

Code: Alles auswählen

The following modules appear to be missing
['ICCProfile', 'PIL', '_imaging_gif', '_scproxy', 'jarray', 'java.awt.image', 'javax.imageio', 
'local_rl_config', 'reportlab.lib._rl_accel', 'reportlab.lib.pyHnj', 'reportlab.monitor', 'rl_config',
'rlextra.pageCatcher.pageCatcher', 'tests.test_platypus_tables', 'yaml']
hat damit schon einer Erfahrungen gemacht?

MfG
ScooB

Re: Py2exe und Reportlab Problem

Verfasst: Mittwoch 26. Oktober 2011, 10:26
von BlackJack
@ScooB: So spontan würde ich mal sagen Du musst erst einmal unterscheiden zwischen Modulen die Du tatsächlich hast, die aber aus irgend welchen Gründen nicht mit in die EXE gepackt werden und solchen die man einfach ignorieren kann. Das sind welche die `reportlab` nur unter bestimmten Bedingungen importiert, zum Beispiel `reportlab.lib._rl_accel` nur wenn es vorhanden ist, oder die Java-Module nur wenn es mit Jython läuft.

Re: Py2exe und Reportlab Problem

Verfasst: Mittwoch 26. Oktober 2011, 11:02
von ScooB
@BlackJack
Wie kann ich diese ausschliesen? das Sie nicht eingebunden werden?
muss ich meine Includes im Soure Code genauer definieren ?

zurzeit verwende ich es so

Code: Alles auswählen

from reportlab.pdfgen.canvas import Canvas
from reportlab.lib.units import cm, pica
from reportlab.platypus import Paragraph, Frame, Image, Table, TableStyle, Spacer
from reportlab.lib.styles import getSampleStyleSheet, ParagraphStyle
from reportlab.lib import colors
from reportlab.lib.pagesizes import A4
from reportlab.lib.enums import *
from reportlab.platypus.tables import Table

Re: Py2exe und Reportlab Problem

Verfasst: Mittwoch 26. Oktober 2011, 11:42
von BlackJack
@ScooB: Das musst Du irgendwo in der Konfiguration für Py2exe sagen. Das analysiert ja Dein Programm und dessen verwendete Module. Und wenn da irgendwo ``import java.awt.image`` oder so drin steht, dann geht Py2exe erst einmal davon aus, dass dieses Modul auch benötigt wird. Dass das nicht, oder nur unter bestimmten Umständen der Fall ist, kann Py2exe ja nicht ahnen.