Seite 1 von 1

32 vs 64 bit: Unterschied beim Bytecode?

Verfasst: Mittwoch 21. April 2010, 21:37
von rhersel
Unterscheidet sich der Python Bytecode wenn ich ihn auf einem 32bit oder 64bit System erzeuge? Ich hoffe nicht :?

Oder anders gefragt: laufen Python Programme (pyc) auf einem 32bit System wenn ich sie auf einem 64bit System erzeugt habe und umgekehrt?

Verfasst: Mittwoch 21. April 2010, 22:04
von Leonidas
Das Format ist ``marshal``:
Python Dokumentation hat geschrieben:The format is specific to Python, but independent of machine architecture issues (e.g., you can write a Python value to a file on a PC, transport the file to a Sun, and read it back there). Details of the format are undocumented on purpose; it may change between Python versions
Ergo: Kein Unterschied zwischen 64 und 32-Bit.

Verfasst: Donnerstag 22. April 2010, 05:17
von DasIch
Die Architektur oder Interpreter Version muss sich noch nichtmal unterscheiden damit ein Unterschied entsteht. Einfach pyc verteilen kann funktionieren muss aber nicht.

Verfasst: Donnerstag 22. April 2010, 09:54
von veers
Da gibt es definitiv wirre Probleme. Ich hab das erst vor kurzem mal mit __doc__ im irc entdeckt.

Verfasst: Donnerstag 22. April 2010, 13:22
von DasIch
Dir Probleme sind so wirr nicht man sollte nur wissen das pyc verteilen nicht funktioniert.

Verfasst: Donnerstag 22. April 2010, 13:45
von HerrHagen
DasIch hat geschrieben:Die Architektur oder Interpreter Version muss sich noch nichtmal unterscheiden damit ein Unterschied entsteht. Einfach pyc verteilen kann funktionieren muss aber nicht.
Davon hör ich zum ersten mal. Was soll den da beispielsweise schiefgehen?

Verfasst: Donnerstag 22. April 2010, 13:57
von DasIch
HerrHagen hat geschrieben:Davon hör ich zum ersten mal. Was soll den da beispielsweise schiefgehen?
Nehmen wir an du hast zwei CPython Versionen und eine ist mit ucs2 und eine mit ucs4 kompiliert dann kann dass schon Probleme geben, wenn dass passiert läuft der Code einfach nicht.

Verfasst: Donnerstag 22. April 2010, 14:51
von veers
DasIch hat geschrieben:
HerrHagen hat geschrieben:Davon hör ich zum ersten mal. Was soll den da beispielsweise schiefgehen?
Nehmen wir an du hast zwei CPython Versionen und eine ist mit ucs2 und eine mit ucs4 kompiliert dann kann dass schon Probleme geben, wenn dass passiert läuft der Code einfach nicht.
In dem mir bekannten Fall war es noch viel lustiger. Waren vor kompilierte PYC Dateien in einem EGG. Einer Klasse haben dann einfach Methoden gefehlt. :roll:

-> Don't.

Jonas