ubuntuusers.de

python2 oder python3 mit pyqt4 oder pyqt5?

Status: Gelöst | Ubuntu-Version: Ubuntu 14.04 (Trusty Tahr)
Antworten |

thaub

Avatar von thaub

Anmeldungsdatum:
26. Oktober 2007

Beiträge: 150

Benötige Rat.

Hatte eine mittelgroße (für mich große, ca. 5500 Zeilen) Entwicklung, die aus historischen Gründen in python2.7 und tkinter entwickelt wurde (mit matplotlib, scipy, pyephem, ...). Sie musste letztendlich sogar noch auf eine etwas ältere Platform rückportiert werden. Diese Einschränkungen entfallen nun. Insbesondere tkinter empfand ich als eher beschränkend, weshalb ich auf pyqt mit qt-designer für den GUI-Anteil umsteigen möchte. Arbeite bislang noch hauptsächlich mit Ubuntu 14.04 (und Ubuntu Mate 15.10), die beide noch auf python2 setzen. Werde aber ziemlich sicher auf Ubuntu 16.04 bzw. Mint18(?) umsteigen.

Folgende Alternativen:

  1. python2.7 mit pyqt4: der Code ist python2.7 mit versuchter python3 Syntax, in pyqt4 arbeite ich mich gerade ein

  2. python2.7 mit pyqt5

  3. python3 mit pyqt4

  4. python3 mit pyqt5: Habe mit beidem keine Erfahrung

Frage?

  • Wie zukunftsicher sind python2.7 und pyqt4? - wäre mir einfach das liebste, weil faul etc....

  • Wie zukunfssicher ist pyqt4 gegenüber pyqt5?

Bedanke mich für Entscheidungshilfen.

Bearbeitet von rklm:

Formatierung

noisefloor Team-Icon

Anmeldungsdatum:
6. Juni 2006

Beiträge: 29567

Hallo,

wann der Support für Pyhton 2.7 endet steht ja AFAIK fest (dauer noch ein paar Jahre ☺ ).

Wann der Support für Qt4 endet müsstest du mal recherchieren - und davon dann deine Entscheidung ableiten.

Bei Python ist es aber eigentlich so, dass man neuen Projekte mit Python 3 umsetzt, WENN nicht die Zielplattform / das Zielsystem zwingedn Python 2.7 verlangt (was aber in der Regel nur bei "alten" Servern mit einer älteren Red Hat Installation der Fall ist).

Gruß, noisefloor

barcc

Avatar von barcc

Anmeldungsdatum:
13. Juli 2007

Beiträge: 696

Wohnort: Dortmund

Wenn du das sowieso das Toolkit wechselst, solltest du nicht auf eine alte Version setzen. PyQt5 gibts auch schon in Ubuntu 14.04 (für Python2 und Python3).

Was Python2/Python3 angeht, hängt das stark von deinem Code ab. Mit dem 2to3-Tool kann das einfach sein, wenn man von der str/unicode-Änderung nicht stark betroffen ist.

Nach einem Blick in meine Glaskugel behaupte ich mal, dass PyQt4 lange vor Python2 aus den Ubuntu-Repos fliegt, die Alternative 3 macht daher eher weniger Sinn.

snafu1

Avatar von snafu1

Anmeldungsdatum:
5. September 2007

Beiträge: 2133

Wohnort: Gelsenkirchen

Wenn der grafische Anteil eh neu geschrieben werden muss, dann würde ich das gleich in PyQt 5 machen. Da ja offenbar reichlich Python 2.7 Code im "Backend" vorhanden ist, empfiehlt sich für das grafische Frontend ein Code, der in weiser Voraussicht mit beiden Versionen läuft. Das dürfte bei einer sauberen Trennung von Geschäftslogik und GUI kein großer Aufwand sein, da man für die GUI ja vor allem auf die Qt-Funktionalität setzt und eher wenige Python 3 Features benötigt.

Und wenn sich dann irgendwann abzeichnet, dass Ubuntu Python 2 aus den Repos rauswirft oder man aus anderen Gründen reinen Python 3 Code haben möchte, dann sollte eben das Backend entsprechend angepasst werden. Das bereits genannte 2to3-Tool kann ein erster Schritt für diese Portierung sein. Meistens muss man danach aber nochmal händisch ran.

PyQt 4 macht für neue Projekte hingegen eher wenig Sinn. Ich habe jetzt keine Lust nachzusehen, wäre aber überrascht, wenn der PyQt 4 Support länger laufen würde als der PyQt 5 Support.

thaub

(Themenstarter)
Avatar von thaub

Anmeldungsdatum:
26. Oktober 2007

Beiträge: 150

Ich sehe schon. Keiner redet mir nach dem Mund. Was hätte ich anderes erwartet. Auf gut österreichisch: "I' werd' die Krot schluck'n.": qt5 und schleichende python3 Migration. Danke für den Anstoß.

Antworten |