Nomma py2exe

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.
schlangenbeschwörer
User
Beiträge: 419
Registriert: Sonntag 3. September 2006, 15:11
Wohnort: in den weiten von NRW
Kontaktdaten:

Hi!
Ich hab da mal ein neues py2exe-Problem: Vor einiger Zeit hab ich mir py2exe geladen und es nach einigen Versuchen und einer Neuinstallation auch echt geschafft, ein Programm umzuwandeln, auch wenn ich glaube das da schon was falsch war... Naja, jetzt wollt ichs nochmal nutzen, doch ich krig folgende Fehlermeldung:
[...]
running py2exe
*** searching for required modules ***
error: t: No such file or directory


Ich dachte es läg am Script (was soll den das "t:"?), aber auch mit nem Testprogramm nur mit einer Print-Anweisung ließ den Fehler nicht beheben und setup.py is auch richtig...

Gibt's da ne Lösung, außer umzusteigen?

Gruß und schomma Danke, jj
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

schlangenbeschwörer hat geschrieben:Gibt's da ne Lösung, außer umzusteigen?
Was meinst du mit umsteigen? Umsteigen auf C++?
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
BlackJack

Wenn schon, dann bitte auf D. Ist viel netter als C++. :-)
Mad-Marty
User
Beiträge: 317
Registriert: Mittwoch 18. Januar 2006, 19:46

BlackJack hat geschrieben:Wenn schon, dann bitte auf D. Ist viel netter als C++. :-)
Hat aber sogut wie noch keine Anhänger.
Das erschwert einiges, wenn man jeden mist erstmal selbst machen muss.
BlackJack

Wenn man mit der Sprache anfängt, hat sie ja schon einmal *einen* Anhänger mehr. ;-)

Ausserdem lässt sich C-Code wohl relativ einfach einbinden. Also hat man Zugriff auf eine ganze Menge Bibliotheken.
sape
User
Beiträge: 1157
Registriert: Sonntag 3. September 2006, 12:52

<ot>
Auf den ersten Blick, sieht es aus wie C++ und ist nichts wirklich neues. Nemerle ist auch so ein neuer Vertreter: http://nemerle.org/First_Tutorial

Um ehrlich zu sein: Wie viele mehr oder weniger schlechte C++ Derivate brauchen wir eigentlich noch (abgesehen von C-Sharp das ganz gut ist)? :D
</ot>

lg
BlackJack

sape hat geschrieben:<ot>
Auf den ersten Blick, sieht es aus wie C++ und ist nichts wirklich neues. Nemerle ist auch so ein neuer Vertreter: http://nemerle.org/First_Tutorial
Nemerle ist nun aber was völlig anderes. Die Sprache enthält wirklich viel aus funktionalen Programmiersprachen und sieht anders aus und fühlt sich anders an als C++/C# oder andere imperative Sprachen. Und die Makros sind auch sehr interessant.
Um ehrlich zu sein: Wie viele mehr oder weniger schlechte C++ Derivate brauchen wir eigentlich noch (abgesehen von C-Sharp das ganz gut ist)? :D
D will ein besserer Ersatz für C++ sein und das ist IMHO auch geglückt. D würde ich zwischen C++ und Java/C# einordnen. Man bekommt zwar Garbage Collection und Pakete/Module, aber kann trotzdem noch systemnahen Quelltext schreiben, inklusive inline Assembler und vollem Zugriff auf alle Standard-C-Funktionen.
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

BlackJack hat geschrieben:D will ein besserer Ersatz für C++ sein und das ist IMHO auch geglückt. D würde ich zwischen C++ und Java/C# einordnen. Man bekommt zwar Garbage Collection und Pakete/Module, aber kann trotzdem noch systemnahen Quelltext schreiben, inklusive inline Assembler und vollem Zugriff auf alle Standard-C-Funktionen.
Außerdem sind viele der genialen ABA Games in D geschrieben. Nutzen auch SDL.. also ich will sowas in Pygame sehen :)
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
sape
User
Beiträge: 1157
Registriert: Sonntag 3. September 2006, 12:52

BlackJack hat geschrieben: Nemerle ist nun aber was völlig anderes. Die Sprache enthält wirklich viel aus funktionalen Programmiersprachen und sieht anders aus und fühlt sich anders an als C++/C# oder andere imperative Sprachen. Und die Makros sind auch sehr interessant.
Naja, stimmt schon. Hab mir das vorhin genauer angesehen. Ich meine mehr so die übliche Syntax wie geschweifte klammern, etc. Das erinnert alles halt sehr an C++ oder Java.

BlackJack hat geschrieben: Man bekommt zwar Garbage Collection und Pakete/Module, aber kann trotzdem noch systemnahen Quelltext schreiben, inklusive inline Assembler und vollem Zugriff auf alle Standard-C-Funktionen.
Hört sich interessant an. Aber wo soll da der unterschied dann zu C# sein (abgesehen von inline assemlbler. Wobei ich mir da jetzt nicht sicher bin ob das nciht auch mit C# Geht)? Wenn man will kann man dort auch Speicher selber allokieren und sonstige systemnahen Sachen.

Ne, die Frage war von mir schon wirklich ernste gemeint. Um so mehr ich schaue gibt es zuviel Derivate von C/C++/Java auf den Markt :) Immer halt das gleiche, wie geschweifte klammern, und sonstiges.

Muss aber dazu sagen das ich mich mit keinen der genanten auseinandergesetzt habe, sondern halt nur mal die Tutorials durchgesehen habe. Die Syntax ist oft erschreckend ähnlich :D
BlackJack

sape hat geschrieben:
BlackJack hat geschrieben: Nemerle ist nun aber was völlig anderes. Die Sprache enthält wirklich viel aus funktionalen Programmiersprachen und sieht anders aus und fühlt sich anders an als C++/C# oder andere imperative Sprachen. Und die Makros sind auch sehr interessant.
Naja, stimmt schon. Hab mir das vorhin genauer angesehen. Ich meine mehr so die übliche Syntax wie geschweifte klammern, etc. Das erinnert alles halt sehr an C++ oder Java.
Die geschweiften Klammern sind nicht zwingend notwendig, man kann Nemerle-Quelltext auch mit Einrückung schreiben wie Python. Allerdings kann man auch bei Einrückung immer noch geschweifte Klammern benutzen, was zum Beispiel ermöglicht, anonyme Funktionen "inline" zu schreiben die wirklich alles können und nicht so beschränkt sind wie ``lambda`` in Python.

Code: Alles auswählen

using Nemerle.Collections
using System.Console
using System.Math

def Liste = List.Range (1, 11) . Map (fun (x) { x * 2 })
Liste.Iter (WriteLine : (int -> void))

def Var = 42

def CompareWith42 (value)
    match (Sign (value - 42))
        |  0 => "weder grösser noch kleiner"
        |  1 => "grösser"
        | -1 => "kleiner"
        |  _ => assert (false)  // Should never happen.

WriteLine ("Var ist {0} als 42.", CompareWith42 (Var))
Mal ehrlich, sieht das wie "C" aus? Man beachte auch das dort, obwohl es eine statisch typisierte Sprache ist, nur einmal eine Typdeklaration angegeben werden musste. Das war nötig weil es die Funktion `WriteLine()` sowohl für `int` als auch für `Object`gibt.
BlackJack hat geschrieben: Man bekommt zwar Garbage Collection und Pakete/Module, aber kann trotzdem noch systemnahen Quelltext schreiben, inklusive inline Assembler und vollem Zugriff auf alle Standard-C-Funktionen.
Hört sich interessant an. Aber wo soll da der unterschied dann zu C# sein (abgesehen von inline assemlbler. Wobei ich mir da jetzt nicht sicher bin ob das nciht auch mit C# Geht)? Wenn man will kann man dort auch Speicher selber allokieren und sonstige systemnahen Sachen.
Kann man das? Da steht doch noch die .NET-VM zwischen dem Programmierer und der Hardware. Das fällt bei D weg. Man kann in D ein Betriebssystem schreiben, inklusive Interrupt-Handler und Gerätetreiber. Bei C# bräuchte man erst einmal ein Betriebssystem auf dem die .NET-Umgebung läuft. Bei D kommt aus dem Compiler ausführbarer Maschinencode raus. Die Sprache liesse sich überall dort einsetzen wo heute C++ benutzt wird. Also zum Beispiel auch in kleinen Embedded-Systemen oder in Echtzeitanwendungen.
Ne, die Frage war von mir schon wirklich ernste gemeint. Um so mehr ich schaue gibt es zuviel Derivate von C/C++/Java auf den Markt :) Immer halt das gleiche, wie geschweifte klammern, und sonstiges.

Muss aber dazu sagen das ich mich mit keinen der genanten auseinandergesetzt habe, sondern halt nur mal die Tutorials durchgesehen habe. Die Syntax ist oft erschreckend ähnlich :D
Das ist dann aber nur die Syntax. Perl, C++ und JavaScript sehen ähnlich aus, sind aber sehr unterschiedliche Sprachen.
schlangenbeschwörer
User
Beiträge: 419
Registriert: Sonntag 3. September 2006, 15:11
Wohnort: in den weiten von NRW
Kontaktdaten:

ehm...eigentlich wollte ich nur mein Pythonscript in eine exe-Datei umwandeln und wegen dem Fehler, den ich nicht verstehe, wissen, ob das Problem mit py2exe zu lösen ist, oder ob ich py2exe vergessen und auf ein anderes, ähnliches Tool, wie z.B. PyInstaller, umsteigen soll...
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Ich tippe mal eher dass dein Programm auf irgendeine Weise komisch ist und py2exe damit nicht zurechtkommt. Aber ohne den Code und die setup.py lässt sich sowas nicht diagnostizieren.
Zuletzt geändert von Leonidas am Freitag 22. Dezember 2006, 19:59, insgesamt 1-mal geändert.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
schlangenbeschwörer
User
Beiträge: 419
Registriert: Sonntag 3. September 2006, 15:11
Wohnort: in den weiten von NRW
Kontaktdaten:

Hi Leonidas,

setup.py:

Code: Alles auswählen

# setup.py
from distutils.core import setup
import py2exe

setup(console="test.py",
      )
statt:

Code: Alles auswählen

#...
setup(console=["test.py"],
      )

:oops: habs grad gesehen :oops:


Gruß, jj

PS: Die Fehlermeldung war aber auch komisch, dann kam das t wohl von "test.py"...
sape
User
Beiträge: 1157
Registriert: Sonntag 3. September 2006, 12:52

BlackJack hat geschrieben:[...]
Mal ehrlich, sieht das wie "C" aus?
Hast recht. Sieht nicht nach C/C++ aus.
BlackJack hat geschrieben: Kann man das? Da steht doch noch die .NET-VM zwischen dem Programmierer und der Hardware. Das fällt bei D weg. Man kann in D ein Betriebssystem schreiben, inklusive Interrupt-Handler und Gerätetreiber. Bei C# bräuchte man erst einmal ein Betriebssystem auf dem die .NET-Umgebung läuft. Bei D kommt aus dem Compiler ausführbarer Maschinencode raus. Die Sprache liesse sich überall dort einsetzen wo heute C++ benutzt wird. Also zum Beispiel auch in kleinen Embedded-Systemen oder in Echtzeitanwendungen.
Ohh, ich dachte das "D" auch ein interpretierende Sprach sei (Wegen Garbage Collection) die sowas wie ".Net" voraussetzt oder ne andere "VM".

Aber ob das wirklich irgendwann als Ersatz für C++ diene wird? Hoffen wir es mal. Den so wie ich das nun verstanden habe, bietet es die gleichen vorteile von "C#" aber ist dazu noch eine Compilierende Sprache, was ein sehr großer Pluspunkt ist!

lg
Python 47
User
Beiträge: 574
Registriert: Samstag 17. September 2005, 21:04

Hier mal n Link was D alles "kann"

http://www.digitalmars.com/d/comparison.html

Wahrscheinlich wird D irgendwann ne ganz berühmte Sprache, aber bis es soweit ist, vergehen noch ein paar Jahre. Wenn man jetzt mal nach Dokumentatioin für D sucht, sieht es ziehmlich dürftig aus.
mfg

Thomas :-)
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

sape hat geschrieben:Ohh, ich dachte das "D" auch ein interpretierende Sprach sei (Wegen Garbage Collection) die sowas wie ".Net" voraussetzt oder ne andere "VM".
GC hat nichts damit zu tun ob die Sprache interpretiert ist oder nicht. Für C/C++ gibt es ja den sehr verbreiteten Boehm GC der unter anderem von Mono, Irssi, vielen Scheme-Implementationen und Mozilla verwendet wird.
sape hat geschrieben:Aber ob das wirklich irgendwann als Ersatz für C++ diene wird? Hoffen wir es mal. Den so wie ich das nun verstanden habe, bietet es die gleichen vorteile von "C#" aber ist dazu noch eine Compilierende Sprache, was ein sehr großer Pluspunkt ist!
C# ist genauso kompilierend, Python ist ebenso kompilierend. Die Sprache ist doch unabhängig davon, ob es Compiler gibt oder nicht. Wenn jemand einen C#-Compiler schriebt, der ELF-Binaries erzeugt, was wär dann?
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
sape
User
Beiträge: 1157
Registriert: Sonntag 3. September 2006, 12:52

Leonidas hat geschrieben: C# ist genauso kompilierend, Python ist ebenso kompilierend. Die Sprache ist doch unabhängig davon, ob es Compiler gibt oder nicht.
Wir reden aneinander vorbei. Ich rede schon von Binär-Code und nicht von Bytecode (oder wie immer man das betiteln will).
Wenn jemand einen C#-Compiler schriebt, der ELF-Binaries erzeugt, was wär dann?
Sag du mir was dann wäre...
BlackJack

sape hat geschrieben:
Leonidas hat geschrieben: C# ist genauso kompilierend, Python ist ebenso kompilierend. Die Sprache ist doch unabhängig davon, ob es Compiler gibt oder nicht.
Wir reden aneinander vorbei. Ich rede schon von Binär-Code und nicht von Bytecode (oder wie immer man das betiteln will).
Ja genau, wie man das betiteln will: Was Du mit Binärcode meinst, ist einfach Bytecode für einen mehr oder weniger realen Prozessor. Es gibt Hardware-Prozessoren die Java-Bytecode ausführen können. Und Programme die x86-Binärcode in Software ausführen. In CISC-Prozessoren wie dem Pentium läuft ein Programm in Mikrocode, das beim Ausführen eines Programms die Maschineninstruktionen teilweise in RISC-Befehle übersetzt die dann von der Hardware ausgeführt werden. Die Grenzen zwischen kompiliert/interpretiert sind fliessend.
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

sape hat geschrieben:
Wenn jemand einen C#-Compiler schriebt, der ELF-Binaries erzeugt, was wär dann?
Sag du mir was dann wäre...
Dann wäre das C# was in deiner Terminologie nicht kompilierend ist auf einmal kompiliert? Huch, ja sowas!
BlcakJack hat geschrieben:Es gibt Hardware-Prozessoren die Java-Bytecode ausführen können. Und Programme die x86-Binärcode in Software ausführen. In CISC-Prozessoren wie dem Pentium läuft ein Programm in Mikrocode, das beim Ausführen eines Programms die Maschineninstruktionen teilweise in RISC-Befehle übersetzt die dann von der Hardware ausgeführt werden.
Ich werf noch die Lisp Maschinen ein, die einen spezielen Fokus auf das Ausführen von Lisp-Programmen haben.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
sape
User
Beiträge: 1157
Registriert: Sonntag 3. September 2006, 12:52

Leonidas hat geschrieben:Sag du mir was dann wäre...
Dann wäre das C# was in deiner Terminologie nicht kompilierend ist auf einmal kompiliert? Huch, ja sowas!
->
BlackJack hat geschrieben:[...]
Mal ehrlich, sieht das wie "C" aus?
Hast recht. Sieht nicht nach C/C++ aus.
BlackJack hat geschrieben: Kann man das? Da steht doch noch die .NET-VM zwischen dem Programmierer und der Hardware. Das fällt bei D weg. Man kann in D ein Betriebssystem schreiben, inklusive Interrupt-Handler und Gerätetreiber. Bei C# bräuchte man erst einmal ein Betriebssystem auf dem die .NET-Umgebung läuft. Bei D kommt aus dem Compiler ausführbarer Maschinencode raus. Die Sprache liesse sich überall dort einsetzen wo heute C++ benutzt wird. Also zum Beispiel auch in kleinen Embedded-Systemen oder in Echtzeitanwendungen.
Ohh, ich dachte das "D" auch ein interpretierende Sprach sei (Wegen Garbage Collection) die sowas wie ".Net" voraussetzt oder ne andere "VM".

Aber ob das wirklich irgendwann als Ersatz für C++ diene wird? Hoffen wir es mal. Den so wie ich das nun verstanden habe, bietet es die gleichen vorteile von "C#" aber ist dazu noch eine Compilierende Sprache, was ein sehr großer Pluspunkt ist!

lg
Ums zu klären eine neu Formulierung von mir:
Aber ob das wirklich irgendwann als Ersatz für C++ diene wird? Hoffen wir es mal. Den so wie ich das nun verstanden habe, bietet es die gleichen vorteile von "C#" aber der Compiler erzeugt ausführbaren Maschinencode.
...

Und mehr gibs da auch nicht zu sagen von meiner Seite aus. Nur darauf habe ich mich mit "Kompilierende Sprache" bezogen und habe gehofft das genau das auch ankommt.

lg
Zuletzt geändert von sape am Mittwoch 27. Dezember 2006, 13:51, insgesamt 1-mal geändert.
Antworten