Py2exe und Reportlab Problem

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
ScooB
User
Beiträge: 54
Registriert: Donnerstag 28. April 2011, 10:47

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
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.
ScooB
User
Beiträge: 54
Registriert: Donnerstag 28. April 2011, 10:47

@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
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.
Antworten