Python 3 und python-kde4 ?

Python und das Qt-Toolkit, erstellen von GUIs mittels des Qt-Designers.
Antworten
Jürgen Kazmirzak
User
Beiträge: 4
Registriert: Mittwoch 22. Juli 2009, 21:47

Hallo,

ich habe mir einmal die pykde4 - Beispielprogramme angesehen. Dabei fiel mir auf, dass sie nur mit python, jedoch nicht mit python3 starteten. mit python3 kommt die Fehlermeldung:

Code: Alles auswählen

InputError:No module named PyKDE4.kdecore
Ich hab mir daraufhin mal das Paket python-kde4 angesehen, welches ja eigentlich die KDE4 Unterstützung bereitstellt. Und siehe da: alle Dateien darin installieren sich in /usr/lib/python2.6/dist-packages/..... , aber das Verzeichnis /usr/lib/python3/dist-packages/ bleibt leer!!

Gibt es denn keine Möglichkeit, ein KDE4 Programm mit Python 3 zu schreiben? Bin echt ratlos, und für jeden Hinweis dankbar.
Benutzeravatar
cofi
Python-Forum Veteran
Beiträge: 4432
Registriert: Sonntag 30. März 2008, 04:16
Wohnort: RGFybXN0YWR0

Nein, sehr wahrscheinlich gibts dafuer noch keine Bindings. Allerdings ist das auch eher die Regel als eine Ausnahme, dass Python3 noch nicht unterstuetzt wird.
Jürgen Kazmirzak
User
Beiträge: 4
Registriert: Mittwoch 22. Juli 2009, 21:47

hallo cofi,

erstmal danke für deine Antwort! Wenn das so ist, wie du andeutest, scheint es aber noch eine Weile zu dauern... in den Repositories von Ubuntu Karmic, welches im Oktober erscheinen wird, bietet das Paket python-kde4 auch nur den 2.6-er Zweig in allen installierten Dateien an...

Wie sieht es dann mit gtk aus? Gibts da schon Bindings? Oder sollte man mit Python 3 tatsächlich noch eine Weile warten?
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Nein, von den Toolkits hat nur PyQt4 und Tkinter Python 3-Kompatibilität. Für PyGTK gabs da irgendwelche Ansätze, es zu portieren, aber die sind irgendwie im Sand verlaufen (kannst ja mal in den Bugtracker schauen, dort gibts einen Eintrag dazu). Vermutlich warten sie darauf, dass gobject-introspection und pybank übernehmen, dann sollte ein Port auf Python 3 auch ein Stück weit einfacher sein.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Jürgen Kazmirzak
User
Beiträge: 4
Registriert: Mittwoch 22. Juli 2009, 21:47

Hallo, Leonidas,

bist du wirklich sicher mit PyQt4? Im Dateilisting sieht es nicht danach aus; da wird nur auf 2.5 und 2.6 verwiesen:
http://packages.ubuntu.com/karmic/i386/ ... 4/filelist
oder funktioniert es trotzdem?

Liste der Dateien in Paket python-qt4 in karmic für Architektur i386

/usr/lib/pyshared/python2.5/PyQt4/Qt.so
/usr/lib/pyshared/python2.5/PyQt4/QtAssistant.so
/usr/lib/pyshared/python2.5/PyQt4/QtCore.so
/usr/lib/pyshared/python2.5/PyQt4/QtDesigner.so
/usr/lib/pyshared/python2.5/PyQt4/QtGui.so
/usr/lib/pyshared/python2.5/PyQt4/QtHelp.so
/usr/lib/pyshared/python2.5/PyQt4/QtNetwork.so
/usr/lib/pyshared/python2.5/PyQt4/QtScript.so
/usr/lib/pyshared/python2.5/PyQt4/QtScriptTools.so
/usr/lib/pyshared/python2.5/PyQt4/QtSvg.so
/usr/lib/pyshared/python2.5/PyQt4/QtTest.so
/usr/lib/pyshared/python2.5/PyQt4/QtWebKit.so
/usr/lib/pyshared/python2.5/PyQt4/QtXml.so
/usr/lib/pyshared/python2.5/PyQt4/QtXmlPatterns.so
/usr/lib/pyshared/python2.5/PyQt4/pyqtconfig.py
/usr/lib/pyshared/python2.6/PyQt4/Qt.so
/usr/lib/pyshared/python2.6/PyQt4/QtAssistant.so
/usr/lib/pyshared/python2.6/PyQt4/QtCore.so
/usr/lib/pyshared/python2.6/PyQt4/QtDesigner.so
/usr/lib/pyshared/python2.6/PyQt4/QtGui.so
/usr/lib/pyshared/python2.6/PyQt4/QtHelp.so
/usr/lib/pyshared/python2.6/PyQt4/QtNetwork.so
/usr/lib/pyshared/python2.6/PyQt4/QtScript.so
/usr/lib/pyshared/python2.6/PyQt4/QtScriptTools.so
/usr/lib/pyshared/python2.6/PyQt4/QtSvg.so
/usr/lib/pyshared/python2.6/PyQt4/QtTest.so
/usr/lib/pyshared/python2.6/PyQt4/QtWebKit.so
/usr/lib/pyshared/python2.6/PyQt4/QtXml.so
/usr/lib/pyshared/python2.6/PyQt4/QtXmlPatterns.so
/usr/lib/pyshared/python2.6/PyQt4/pyqtconfig.py
/usr/lib/qt4/plugins/designer/libpythonplugin.so
/usr/share/doc/python-qt4/NEWS.gz
/usr/share/doc/python-qt4/THANKS
/usr/share/doc/python-qt4/changelog.Debian.gz
/usr/share/doc/python-qt4/changelog.gz
/usr/share/doc/python-qt4/copyright
/usr/share/pyshared/PyQt4/uic/Compiler/compiler.py
/usr/share/pyshared/PyQt4/uic/Compiler/indenter.py
/usr/share/pyshared/PyQt4/uic/Compiler/misc.py
/usr/share/pyshared/PyQt4/uic/Compiler/proxy_type.py
/usr/share/pyshared/PyQt4/uic/Compiler/qobjectcreator.py
/usr/share/pyshared/PyQt4/uic/Compiler/qtproxies.py
/usr/share/pyshared/PyQt4/uic/Loader/loader.py
/usr/share/pyshared/PyQt4/uic/Loader/qobjectcreator.py
/usr/share/pyshared/PyQt4/uic/__init__.py
/usr/share/pyshared/PyQt4/uic/driver.py
/usr/share/pyshared/PyQt4/uic/exceptions.py
/usr/share/pyshared/PyQt4/uic/icon_cache.py
/usr/share/pyshared/PyQt4/uic/objcreator.py
/usr/share/pyshared/PyQt4/uic/port_v2/ascii_upper.py
/usr/share/pyshared/PyQt4/uic/port_v2/encode_utf8.py
/usr/share/pyshared/PyQt4/uic/port_v2/invoke.py
/usr/share/pyshared/PyQt4/uic/port_v2/load_plugin.py
/usr/share/pyshared/PyQt4/uic/port_v2/proxy_base.py
/usr/share/pyshared/PyQt4/uic/port_v2/string_io.py
/usr/share/pyshared/PyQt4/uic/properties.py
/usr/share/pyshared/PyQt4/uic/pyuic.py
/usr/share/pyshared/PyQt4/uic/uiparser.py
/usr/share/python-qt4/widget-plugins/.noinit
/usr/share/python-qt4/widget-plugins/phonon.py
/usr/share/python-qt4/widget-plugins/qaxcontainer.py
/usr/share/python-qt4/widget-plugins/qscintilla.py
/usr/share/python-qt4/widget-plugins/qtwebkit.py
/usr/share/python-qt4/widget-plugins/qwt.py
/usr/share/python-support/python-qt4.private
/usr/share/python-support/python-qt4.public
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Jürgen Kazmirzak hat geschrieben:bist du wirklich sicher mit PyQt4?
Ja, siehe die Py3.1-Binaries.
Jürgen Kazmirzak hat geschrieben:Im Dateilisting sieht es nicht danach aus; da wird nur auf 2.5 und 2.6 verwiesen:
http://packages.ubuntu.com/karmic/i386/ ... 4/filelist
oder funktioniert es trotzdem?
Nö, wenn man es nur gegen 2.5 und 2.6 kompiliert dann funktioniert es logischerweise nur dort. Aber das ist die Sache von Ubuntu, PyQt kann auch mit Python 3.1 zusammenarbeiten.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Jürgen Kazmirzak
User
Beiträge: 4
Registriert: Mittwoch 22. Juli 2009, 21:47

Hmmm. Für Windows scheint das Problem also gelöst zu sein. Auch für Linux behaupten die Release notes:

v4.5 5th June 2009
- Added support for Qt v4.5.1.
- Added support for Python v3.

auch wenn es da keine verschiedenen Versionen zum Download gibt. Was mich lediglich verwundert ist der Fakt, dass in den meisten Dateien in diesem Sourcepaket die erste Zeile #!/usr/bin/env python lautet. Müsste sie nicht eigentlich #!/usr/bin/env python3 lauten, damit die Programme mit Python3 zusammenarbeiten?
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Das ist ja egal was dort steht, da das ja nur für "ausführbare" Skripte von Bedeutung ist, im Falle einer Library wie PyQt4 werden die aber nicht ausgewertet.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Antworten