In file included from /Python/PyPy v0.6.1/pypy/translator/genc/g_include.h:18,
from test.c:2:
/Python/PyPy v0.6.1/pypy/translator/genc/int_include.h:200:2: warning: no newline at end of file
D:\Programme\tools\MinGW\bin\..\lib\gcc\mingw32\3.4.2\..\..\..\..\mingw32\bin\ld.exe: \Python\Python24\libs: No such file: Permission denied
collect2: ld returned 1 exit status
PyPy
- jens
- Python-Forum Veteran
- Beiträge: 8502
- Registriert: Dienstag 10. August 2004, 09:40
- Wohnort: duisburg
- Kontaktdaten:
Hm... Ein gcc -I -L \Python\Python24\libs -l python24.lib -l libpython24.a -o test test.c liefert folgendes:
- jens
- Python-Forum Veteran
- Beiträge: 8502
- Registriert: Dienstag 10. August 2004, 09:40
- Wohnort: duisburg
- Kontaktdaten:
Ups So geht's wohl besser:
gcc -I -L\Python\Python24\libs\ -l python24.lib libpython24.a -o test test.c
Aber nicht Fehlerfrei:
Hab auch noch einige Varianten Probiert, aber irgendwie bekomme ich kein richtiges Ergebnis:
gcc -I -Ld:\Python\Python24\libs -l python24.lib -o test test.c
gcc -I -L\Python\Python24\libs\ -l python24.lib libpython24.a -o test test.c
Aber nicht Fehlerfrei:
Obwohl in \Python\Python24\libs\ wirklich die libpython24.a vorhanden ist...In file included from /Python/PyPy v0.6.1/pypy/translator/genc/g_include.h:18,
from test.c:2:
/Python/PyPy v0.6.1/pypy/translator/genc/int_include.h:200:2: warning: no newline at end of file
gcc: libpython24.a: No such file or directory
Hab auch noch einige Varianten Probiert, aber irgendwie bekomme ich kein richtiges Ergebnis:
gcc -I -Ld:\Python\Python24\libs -l python24.lib -o test test.c
In file included from /Python/PyPy v0.6.1/pypy/translator/genc/g_include.h:18,
from test.c:2:
/Python/PyPy v0.6.1/pypy/translator/genc/int_include.h:200:2: warning: no newline at end of file
D:\Programme\tools\MinGW\bin\..\lib\gcc\mingw32\3.4.2\..\..\..\..\mingw32\bin\ld.exe: cannot find -lpython24.lib
collect2: ld returned 1 exit status
Wie willst du denn das Modul als Anwendung linken? Du hast doch garkeinen Startpunkt... Du hast nur Funktionen da drinn...jens hat geschrieben:Tja, ich weiß nicht... Ich wollte es einfach mal versuchen... Hab aber keine Erfahrung mit gcc & CoProgChild hat geschrieben:Sag mal irre ich mich, oder ist PyPy nicht dafür da, Python Module zu erzeugen? Du kannst da so keine Ausführbaren Dateien draus machen...
Dein Python Modul kann nur von dem Python Interpreter geladen und ausgeführt werden. Ohne den kannst du keine Ausführbare Datei bekommen.
Du hast also zwei Möglichkeiten: Entweder, du schreibst ein Python Modul, dass dein Modul aufruft, oder du schreibst ein C Programm, dass den Python Interpreter einbindet und dann ein Modul aufruft.
Einen anderen Weg sehe ich nicht.
- jens
- Python-Forum Veteran
- Beiträge: 8502
- Registriert: Dienstag 10. August 2004, 09:40
- Wohnort: duisburg
- Kontaktdaten:
Da hast du natürlich recht, wenn man sich nochmal http://www.python-forum.de/viewtopic.php?p=21786#21786 anschaut, gibt's nur die test()...ProgChild hat geschrieben:Du hast doch garkeinen Startpunkt... Du hast nur Funktionen da drinn...
Aber ich glaube das erklärt nicht die Fehlermeldung beim gcc...
Wenn das alles klappten würde, könnte man sich doch schon vorstellen, das man eine Klasse definiert, die dann von einem mini C Programm aus aufgerufen wird...
Wie Praktikabel das ganze sein wird, weiß ich nicht...
Ich finde es nur schön, wenn man irgendwie doch eine echte EXE erzeugen könnte anstatt dem py2exe Kram... (Träumen darf man ja wohl noch )
Es kommen immer wieder Anwender, die nach einem Python-Compiler fragen. Also ich glaube das Interesse ist schon sehr groß und es würde Python für einige sehr viel Interessanter machen!
Der größte Nachteil von Py2exe ist es, das selbst kleinste Skripte richtig groß werden
Wobei eine andere Variante wäre noch, Python selber auf ein Minimum zu verkleinern... Das nur ein paar Dateien nötig sind, um überhaupt ein Mini-Python zu machen haben wir ja hier http://www.python-forum.de/viewtopic.php?t=3666 rausgefunden...
Ich hab nochmal eine Mini-Version erstellt und mit UPX die python.dll gepackt. Somit ist das mini-Python 852KB groß...
Wobei, hab gerade hier http://starship.python.net/crew/theller ... ompression unter Punkt 6 "7ZIP and UPX" gefunden, das es auch bei py2exe noch einiges Einsparungspotential gibt... Da bekommt man für 804KB schon eine fertige Geschichte... Naja, eine echte Compiler EXE wäre wahrscheinlich nochmal um einiges kleiner
Wie dem auch sei... Vielleicht wird PyPy uns irgendwann mal eine super Alternative liefern...
Ich wollte ja eigentlich nur mal eben gucken, was mit PyPy schon möglich ist... Das das jetzt so ausgeufert ist, war eigentlich nicht beabsichtigt...
Ich meine ich hab sowieso immer ein Python installiert und brauche nicht wirklich eine EXE
-
- Python-Forum Veteran
- Beiträge: 16025
- Registriert: Freitag 20. Juni 2003, 16:30
- Kontaktdaten:
Jens, gcc nimmt bei -l nicht dateinamen, er macht das so: -lpython24 (ein Argument ohne Freizeichen) lädt libpython24.a, das heißt immer ohne das "lib"-Prefix. So wird aus libSDL.a -lSDL und aus libz.a -lz.
Hast du dir schon mal freeze aus dem Python-Tarball angeschaut? Das kommt glaube ich dem näher was du machen willst.
Hast du dir schon mal freeze aus dem Python-Tarball angeschaut? Das kommt glaube ich dem näher was du machen willst.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
- jens
- Python-Forum Veteran
- Beiträge: 8502
- Registriert: Dienstag 10. August 2004, 09:40
- Wohnort: duisburg
- Kontaktdaten:
Also wäre ein korrekter Aufruf so:Leonidas hat geschrieben:Jens, gcc nimmt bei -l nicht dateinamen, er macht das so: -lpython24 (ein Argument ohne Freizeichen) lädt libpython24.a, das heißt immer ohne das "lib"-Prefix. So wird aus libSDL.a -lSDL und aus libz.a -lz.
gcc -I -Ld:\Python\Python24\libs -lpython24 -o test test.c
Das bringt aber auch nur:
In file included from /Python/PyPy v0.6.1/pypy/translator/genc/g_include.h:18,
from test.c:2:
/Python/PyPy v0.6.1/pypy/translator/genc/int_include.h:200:2: warning: no newline at end of file
D:\Programme\tools\MinGW\bin\..\lib\gcc\mingw32\3.4.2\..\..\..\..\mingw32\bin\ld.exe: cannot find -lpython24
collect2: ld returned 1 exit status
Du meinst das http://cvs.sourceforge.net/viewcvs.py/p ... e/#dirlist ???Leonidas hat geschrieben:Hast du dir schon mal freeze aus dem Python-Tarball angeschaut? Das kommt glaube ich dem näher was du machen willst.
Hört sich nett an:
Freeze a Python script into a binary.
-
- Python-Forum Veteran
- Beiträge: 16025
- Registriert: Freitag 20. Juni 2003, 16:30
- Kontaktdaten:
Genau das, das findest du auch seit langem im Python-Sourcen-Tarball.jens hat geschrieben:Das bringt aber auch nur:Hast du denn alles nötige dort drin? Die libpython24.a musste ich soweit ich mich erinnert kann selbst generieren.In file included from /Python/PyPy v0.6.1/pypy/translator/genc/g_include.h:18,
from test.c:2:
/Python/PyPy v0.6.1/pypy/translator/genc/int_include.h:200:2: warning: no newline at end of file
D:\Programme\tools\MinGW\bin\..\lib\gcc\mingw32\3.4.2\..\..\..\..\mingw32\bin\ld.exe: cannot find -lpython24
collect2: ld returned 1 exit status
Leonidas hat geschrieben:Hast du dir schon mal freeze aus dem Python-Tarball angeschaut? Das kommt glaube ich dem näher was du machen willst.jens hat geschrieben:Du meinst das http://cvs.sourceforge.net/viewcvs.py/p ... e/#dirlist ???
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice