Seite 1 von 3

Verfasst: Freitag 29. Juli 2005, 15:08
von Leonidas
Warum importierst du so viele GUI-Toolkits? Du importierst wxPython sogar zweimal! Vielleicht solltest du das erstmal korrigieren?

Verfasst: Freitag 29. Juli 2005, 19:00
von Gast
Danke für den Hinweis!

hab es nicht gesehen. Habe es inzwischen korrigiert.
Es funktioniert leider aber immer noch nicht.

Verfasst: Freitag 29. Juli 2005, 19:50
von Leonidas
Anonymous hat geschrieben:Habe es inzwischen korrigiert.
Inwiefern? Keine * Imports mehr genutzt?

Verfasst: Samstag 30. Juli 2005, 14:55
von Toni83
Habe

from wxPython.wx import *

herausgenommen.

Gruss,
Toni

Verfasst: Sonntag 31. Juli 2005, 11:27
von querdenker
Schau dir mal diesen oder diesen Thread an. Da wird einiges über imports innerhalb der setup.py oder der Setup.cfg erklärt.

Desweiteren: Warum importierst du teile aus dem TK-Bereich, wenn du wx benutzen willlst?

Und du meinst die Frage
Toni83 hat geschrieben:Was bedeutet eigentlich bei meiner ersten Fehlermeldung: "an integer is required"?
eigentlich ernst?

mfg, querdenker

Verfasst: Montag 1. August 2005, 08:17
von Toni83
Hallo,

Habe jetzt schon einmal mit einer anderen Version von py2exe versucht,
die *.exe zu erstellen, hat aber auch nicht geklappt, versuche es heute noch mit älteren Versionen.
Ich importiere Teile aus dem Tk-Bereich deshalb, da ich das für ein zweites
temporär behaftetes Fenster benötige.
Übrigens: Die Frage was "an integer is required" bedeutet, meine ich ernst.
Nicht in dem Kontext was es übersetzt bedeutet, so blöde bin ich
dann auch wieder nicht, sondern was py2exe meint.
Was für einen Integer will py2exe haben?

Gruss,
Toni

Verfasst: Montag 1. August 2005, 16:09
von Toni83
Servus,

habe inzwischen alle möglichen Versionen von py2exe runter bis 0.5.0 durchgespielt. Hat alles nicht funktioniert.
Für noch ältere Versionen habe ich die unpassende setup.py. Kann mir die jemand zukommen lassen?
Werde an meinen Problemen inzwischen weiter knobeln.

Gruss,
Toni

Verfasst: Montag 1. August 2005, 17:28
von Leonidas
Ich vermute mal dass dein Script irgendwie irgendwo hinüber ist. Wie groß ist das Script? Kannst du das nicht irgendwo reinstellen?

Verfasst: Dienstag 2. August 2005, 07:11
von Gast
Hallo,

wird schwierig sein den jetzt mittlerweile auf 8000 Zeilen gewachsenen Code ins Internet zu stellen.
Habe gar nicht berücksichtigt, dass ich mehrere nicht ASCII-Zeichen im Text vorhanden habe (ä,ü,ö,...). (Gibt nur ein Warning wenn mit Python, also nicht die .exe, gestartet wurde, dass ich nicht ASCII-Zeichen verwende)
Kann es vielleicht daran liegen? Wird schwierig sein die alle zu entfernen, deswegen frage ich noch mal nach. Habe leider nichts weiter bedacht als ich mit dem Boa Constructor die Grafische Oberfläche erstellt habe.
Ich kann es mir kaum vorstellen das ich einen anderen Fehler habe. Wenn ich mein Programm über Python laufen lasse, funktioniert es ja. Nur die .exe wiederum nicht.


Gruss,
Toni[/b]

Verfasst: Dienstag 2. August 2005, 10:57
von Leonidas
Kannst mal versuchen als zweite Zeile unter die Shebang

Code: Alles auswählen

# -*- encoding: latin-1 -*-
zu schreiben.

Und für so große Quellcodes lassen sich auch rafb und phpfi benutzen, außer du möchtest den Quellcode aus irgendwelchen Gründen geheim halten.

Sag blos, die 8000 Zeilen sind in einer Datei?

Mir fällt jetzt auch keine Möglichkeit ein, an was py2exe scheitert.

Ich glaub ich habe mal eine py2exe 0.4 setup.py rausgefischt:

Code: Alles auswählen

from distutils.core import setup 
import py2exe 
setup(name="wxTail",scripts=["wxTail.py"],)
Jedoch bezweifle ich, dass du mit älteren Versionen zum Erfolg kommst.

Verfasst: Dienstag 2. August 2005, 13:57
von Gast
Servus,

Habe leider das Problem das die von mir geschriebene Software Firmeneigentum ist und ich den Quellcode leider nicht veröffentlichen darf.
Ich weiss, das unter diesen Umständen es schwierig wird mir zur helfen.
Was ich allerdings noch sagen kann und was mir gerade eingefallen ist, ist dass ich vorher eine grafische Oberfläche mit Tkinter erstellt hatte. Da ist das Problem noch nicht aufgetaucht. Erst ab dem Zeitpunkt als ich die Oberfläche mit wxGlade das erste Mal erstellt hatte, kam der Fehler den ich ganz am Anfang erwähnt hatte ("an integer is required").
Hat py2exe vielleicht Probleme mit dem Code das wxGlade erstellt hat?
Habe nebenbei es schon mit älteren Versionen versucht und es hat leider auch nicht geklappt.

Gruss,
Toni

Verfasst: Dienstag 2. August 2005, 23:29
von BlackJack
Kann es sein, das in irgendeinem Dateinamen, der geöffnet werden soll, ein '\U' vorkommt? Beziehungsweise das Du überhaupt irgendwo Dateinamen mit "Windowsnamen", also mit '\' als Pfadtrenner benutzt, die nicht richtig "escaped" sind?

Verfasst: Donnerstag 4. August 2005, 07:22
von Gast
Sorry für die späte Antwort,

In der zu erstellenden .exe Datei ist im Namen keinerlei "\" enthalten.
Ich brauche aber "\" zum Aufrufen gewisser Dateien innerhalb des Programms.
Habe aber immer "\\" geschrieben damit Python eindeutig weiss, das dies keine Escape-Funktion ist, sondern zur Pfadangabe einer Datei gehört.

Gruss,
Toni

Verfasst: Donnerstag 4. August 2005, 07:24
von Toni83
Kurz noch ne Frage nebenbei,

wieso bin ich wenn ich mich am Anfang anmelde und dann eine Antwort schreibe wieder ausgeloggt?

Verfasst: Donnerstag 4. August 2005, 09:41
von querdenker
Vergleich doch bitte mal die verwendeten Dateien in deinem Source-Verzeichnis mit denen im build-Ordner, den py2exe anlegt.

Im Build findest du eigentlich immer alles, was py2exe anfasst.
Interessant ist auch die Ausgabe vom py2exe-lauf.

Ach, kleiner Hinweis noch: Lösche vor einem py2exe-lauf die beiden Ordner .\dist und .\build

mfg, querdenker

Verfasst: Donnerstag 4. August 2005, 09:53
von Leonidas
Toni83 hat geschrieben:wieso bin ich wenn ich mich am Anfang anmelde und dann eine Antwort schreibe wieder ausgeloggt?
Du musst immer auf www.python-forum.de gehen, sonst gibt es probleme, wenn du z.B. das WWW weglässt.

Verfasst: Freitag 5. August 2005, 15:20
von Gast
Servus querdenker,

Habe jetzt das ganze verglichen und Python bindet alles ein was das Programm zum laufen benötigt.
Was sollte der Vergleich eigentlich sonst noch bringen? Was wäre wenn etwas fehlen würde? Müsste ich es dann die z.B fehlenden Bibliotheken selber einbinden?

Gruss,
Toni

Verfasst: Freitag 5. August 2005, 15:22
von Toni83
Mist,
habe es vorhin schon wieder falsch gemacht.
Danke Leonidas für den Tip!

Verfasst: Freitag 5. August 2005, 19:05
von querdenker
Hi Toni83!
Toni83 hat geschrieben:Servus querdenker,

Habe jetzt das ganze verglichen und Python bindet alles ein was das Programm zum laufen benötigt.
Was sollte der Vergleich eigentlich sonst noch bringen? Was wäre wenn etwas fehlen würde? Müsste ich es dann die z.B fehlenden Bibliotheken selber einbinden?
Moment, py2exe bindet alles ein meinst du, oder?
Ich habe die Erfahrung gemacht, das py2exe die Abhängigkeiten nicht immer sauber auflösen kann, gerade wenn es um Datenbanken, wx* oder de/encoding geht, hakt es ab und zu.

Deshalb hatte ich vorgeschlagen mal einen Abgleich zu machen.
Je nachdem welchen Weg du gehst, solltest du die mit zu übernehmenden packages (gerade eigene, die nicht unbedingt im PYTHONPATH stehen) entweder in der setup.py oder in der setup.cfg mit angeben.

mfg, querdenker

Verfasst: Freitag 5. August 2005, 19:26
von Leonidas
Naja, py2exe bindet nicht immer alles (korrekt) ein, aber es reicht meist paar Einstellungen in der setup.py zu ändern dann geht das schon.

Aber bevor du verzweifeltst Toni83: versuch doch mal cx_Freeze. Ist zwar etwas kompluizierter zu bedienen, funktioniert aber auch unter Linux. Dann kannst du auch feststellen wo der Fehler liegt: an py2exe oder deinem Programm.