[python-users] Integration Python 3 Python 2.X Was: Vortrag - Python 3(000)

Thomas Lenarz tommesml at netcologne.de
Mi Mär 4 17:38:10 CET 2009


Andi Albrecht schrieb:
>> Zu dem zweiten Thema bin ich auch gleich einmal auf ein Problem
>> gestoßen. Ich wollte das Programm zum Zeichnen von Klassendiagrammen
>> einmal spaßeshalber auf Python 3 umstellen. Die Änderungen am Code waren
>> recht schnell gemacht. Ich bin aber dann darüber gestolpert, dass es mit
>> den imports auf die Python-Imaging-Library (PIL) Probleme gab, da es
>> noch keine Python 3-Version gab (gibt?).
>>
>> Kennt jemand für diese Situation eine Lösung? (Nicht nur auf die PIL
>> bezogen, sondern generell.) Für mich ist Python ja mehr ein Hobby-Thema.
>> Im professionellen Umfeld könnte ich es mir sehr nervig vorstellen, wenn
>> ich Software erst dann umstellen könnte, wenn alle (Fremd-)-Bibliotheken
>> umgestellt sind... :-(.
> 
> Auf irgendeiner anderen Python-Mailing-Liste habe ich diese Frage
> schon mal gelesen, ich denke die Antwort war da (leider, aber
> irgendwie auch unausweichlich) entweder a) abzuwarten oder falls das
> nicht klappt b) beim Portieren der verwendeten Bibliotheken zu helfen
> ;-)
Ja, mit den Strategien a) und b) hätte ich auch gerechnet. ;-) 
Eigentlich finde ich den Bruch auch ganz gesund für das Ökosystem 
Python. Ich denke man wird auf diese Weise sauberer und insgesamt 
schneller komplett in die Python 3-Welt kommen als wenn man als Ballast 
die Kompatibilität weiter mitschleppt.

Für das beschriebene Problem (Nutzung 2.x Code aus 3 heraus) ist mir 
aber jetzt auch noch ein Möglichkeit eingefallen. Wenn es sich nicht um 
Kern-Komponenten einer Software handelt gibt es ja immer die Möglichkeit 
einen zweiten Betriebssystem-Prozess mit einem 2.x Interpreter zu 
starten, der den entsprechenden Programmteil ausführt.
Wenn dynamischer Datenaustausch während der Ausführungszeit benötigt 
wird, könnte man Mittel der Interprozess-Kommunikation nutzen...

Viele Grüße
Thomas



Mehr Informationen über die Mailingliste python-users