pyd erstellen

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
mayx
User
Beiträge: 71
Registriert: Sonntag 3. Mai 2009, 02:51

Hey,

ich hab ein kleines Framework geschrieben, nun
würde ich dies gerne als pyd zu verfügung stellen.
Im Wiki und im Forum habe ich aber nix gefunden.

Vielen Dank für Tipps / Links und Lösungen. ;)
mutetella
User
Beiträge: 1695
Registriert: Donnerstag 5. März 2009, 17:10
Kontaktdaten:

Hallo,

hast Du hier schon mal geschaut?

mutetella
Entspanne dich und wisse, dass es Zeit für alles gibt. (YogiTea Teebeutel Weisheit ;-) )
mayx
User
Beiträge: 71
Registriert: Sonntag 3. Mai 2009, 02:51

Cool. Schau ich mir gleich mal an.
mayx
User
Beiträge: 71
Registriert: Sonntag 3. Mai 2009, 02:51

Rauskommen soll eine "xyz.pyd" Datei, die per import in neue Projekte eingefügt werden kann.

Hier is ein Beschreibung: http://www.ehow.com/how_12213698_edit-pyd-files.html
,hier noch n längere Beschreibung: http://www.ehow.com/facts_5620274_file- ... -pyd_.html
und hier wie es gehen soll: http://www.ehow.com/how_10051925_make-pyd-file.html
BlackJack

@mayx: Wie man Python-Erweiterungen in C schreibt, wird in der Python-Dokumentation erklärt.
mayx
User
Beiträge: 71
Registriert: Sonntag 3. Mai 2009, 02:51

Zuletzt geändert von mayx am Samstag 22. September 2012, 15:48, insgesamt 1-mal geändert.
mayx
User
Beiträge: 71
Registriert: Sonntag 3. Mai 2009, 02:51

Zum Verständnis; Pyd-dateien werden mit C-Compilern erstellt
und können nicht direkt aus Python-Code generiert werden.
Wenn ich nun fertigen Python-Code habe, müsste ich diesen erst
in C importieren und dann über C eine pyd erstellen?
BlackJack

@mayx: Fertigen Python-Code importierst Du einfach direkt. Vielleicht erklärst Du mal was Du Dir von einer *.pyd-Datei überhaupt versprichst.
mayx
User
Beiträge: 71
Registriert: Sonntag 3. Mai 2009, 02:51

Na damit man den Inhalt nicht verändert bzw. sieht.
webspider
User
Beiträge: 485
Registriert: Sonntag 19. Juni 2011, 13:41

Das ist ein denkbar schlechter Schutz der es den Aufwand nicht wert ist.
mayx
User
Beiträge: 71
Registriert: Sonntag 3. Mai 2009, 02:51

Wenn ich aus einer größeren Anzahl von .py-Dateien eine pyd-Datei
erstellen kann, die dann direkt in Python nutzbar ist, aber halt
nicht mit Textpad oder so lesbar ist, würde mir das reichen.
webspider
User
Beiträge: 485
Registriert: Sonntag 19. Juni 2011, 13:41

In Python werden üblicherweise weniger einzelne Dateien als bei Java verwendet; aus einem einzelnen Modul bestehende Projekte sind daher nicht unüblich. Ansonsten erstellt man Pakete, die mittels distribute und dergleichen installiert werden können.

Bleibt noch der Punkt mit dem verschleierten Code. Ich habe bisher keinen Grund dafür hier aufgeschrieben gesehen. Die Schutzmaßnahmen von Python sind unzureichend für sowas. Auch in anderen Programmiersprachen sind die ausführbaren Dateien analysierbar. Einzige wirkliche Lösung wäre es wohl das Programm über einen Webservice anzubieten (der Ausdruck dafür dürfte wohl SaaS sein), aber ich bezweifle, dass du dir den Aufwand antust.
mayx
User
Beiträge: 71
Registriert: Sonntag 3. Mai 2009, 02:51

Bestehen Pakete aus einer Datei und sind nicht direkt im Editor wie Textpad lesbar?
Benutzeravatar
cofi
Python-Forum Veteran
Beiträge: 4432
Registriert: Sonntag 30. März 2008, 04:16
Wohnort: RGFybXN0YWR0

Wenn es dir nur darum geht, dass der Quellcode nur mit zusaetzlichem Aufwand lesbar ist, dann liefere den Bytecode aus: Die .pyc Dateien. Allerdings brauchst du hier zumindest fuer jede Python Major-Version ein Set von Bytecode-Dateien.

Damit du nur eine Datei hast, koenntest du zip Dateien ausliefern, mit denen kann Python (seit 2.5?) direkt umgehen.
mayx
User
Beiträge: 71
Registriert: Sonntag 3. Mai 2009, 02:51

Ah, coole Idee. Das mit Zip hört sich schon mal gut an.

Nur da ich n pyd bekommen habe und das etwas hin zu
gebaut habe, würde ich natürlich auch gern wieder
eine pyd zurück schicken.

Hier sind Infos zum webspider distribute:
http://openbook.galileocomputing.de/pyt ... 22_001.htm
Benutzeravatar
Sr4l
User
Beiträge: 1091
Registriert: Donnerstag 28. Dezember 2006, 20:02
Wohnort: Kassel
Kontaktdaten:

Zeig doch mal bitte was du bekommen hast und bzw wie du daran was verändert hast.

PYD ist eine von Python aus aufrufbare C DLL. Das Ergebniss ist also Maschinencode.
mayx
User
Beiträge: 71
Registriert: Sonntag 3. Mai 2009, 02:51

Nun ich hab die *.pyd in python importiert und einige Funktionen kombiniert, damit diese automatisch ablaufen.
Ich hatte gehoft, dass ich wieder eine pyd compilieren könnte. Ich wußte anfangs noch nicht das es hierbei um
C handelt bzw. eine Erweiterung von python.
mayx
User
Beiträge: 71
Registriert: Sonntag 3. Mai 2009, 02:51

Das ganze geht super mit Cython.
- Downloaden
- zu Python hinzufügen (setup.py install)
- py Dastei in pyx umbenennen
- setup-datei erstellen
- "python setup.py build_ext --inplace" oder "python setup.py build_ext --compiler=mingw32 --inplace" ausführen

http://docs.cython.org/src/userguide/tutorial.html

Python(x,y) hat zum Beispiel Cython integriert, falls das hinzufügen von Cython schwierigkeiten macht.
Hierbei beim Installieren Cython auswählen.
Antworten