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:

Nomma py2exe

Beitragvon schlangenbeschwörer » Mittwoch 20. Dezember 2006, 19:07

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
Benutzeravatar
Leonidas
Administrator
Beiträge: 16023
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Re: Nomma py2exe

Beitragvon Leonidas » Donnerstag 21. Dezember 2006, 14:17

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 Modvoice
BlackJack

Beitragvon BlackJack » Donnerstag 21. Dezember 2006, 14:59

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

Beitragvon Mad-Marty » Freitag 22. Dezember 2006, 00:51

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

Beitragvon BlackJack » Freitag 22. Dezember 2006, 09:13

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

Beitragvon sape » Freitag 22. Dezember 2006, 10:41

<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

Beitragvon BlackJack » Freitag 22. Dezember 2006, 13:57

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.
Benutzeravatar
Leonidas
Administrator
Beiträge: 16023
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Beitragvon Leonidas » Freitag 22. Dezember 2006, 14:04

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 Modvoice
sape
User
Beiträge: 1157
Registriert: Sonntag 3. September 2006, 12:52

Beitragvon sape » Freitag 22. Dezember 2006, 14:58

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

Beitragvon BlackJack » Freitag 22. Dezember 2006, 17:11

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:

Beitragvon schlangenbeschwörer » Freitag 22. Dezember 2006, 18:42

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...
Benutzeravatar
Leonidas
Administrator
Beiträge: 16023
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Beitragvon Leonidas » Freitag 22. Dezember 2006, 19:29

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

Beitragvon schlangenbeschwörer » Freitag 22. Dezember 2006, 19:57

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

Beitragvon sape » Freitag 22. Dezember 2006, 20:34

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

Beitragvon Python 47 » Freitag 22. Dezember 2006, 21:11

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 :-)

Wer ist online?

Mitglieder in diesem Forum: Google [Bot]