Seite 1 von 1

Python 3 und python-kde4 ?

Verfasst: Mittwoch 22. Juli 2009, 21:57
von Jürgen Kazmirzak
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.

Verfasst: Mittwoch 22. Juli 2009, 22:06
von cofi
Nein, sehr wahrscheinlich gibts dafuer noch keine Bindings. Allerdings ist das auch eher die Regel als eine Ausnahme, dass Python3 noch nicht unterstuetzt wird.

Verfasst: Mittwoch 22. Juli 2009, 22:30
von Jürgen Kazmirzak
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?

Verfasst: Mittwoch 22. Juli 2009, 22:41
von Leonidas
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.

Verfasst: Mittwoch 22. Juli 2009, 23:01
von Jürgen Kazmirzak
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

Verfasst: Mittwoch 22. Juli 2009, 23:10
von Leonidas
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.

Verfasst: Donnerstag 23. Juli 2009, 02:44
von Jürgen Kazmirzak
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?

Verfasst: Donnerstag 23. Juli 2009, 07:23
von Leonidas
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.