[PyKDE] Errors with Python Subinterpreters

Franz Franz.Schmid at altmuehlnet.de
Fri Oct 25 00:54:01 BST 2002


Hello,

my name is Franz Schmid and I'm the developer ot Scribus, a
DTP-Package for Linux based on the QT3 GUI.

To extend the possibiltys of my Program I've included an embedded
Python Interpreter. This works pretty well.

Since Scribus uses QT, it seems that it's recommended to use PyQt
for creating some script driven Dialogs.

But... When I run a PyQt-Script the very first time it works perfectly,
trying it to run a second time or running another script that contains
import qt or from qt import * it fails with the following error message:

Traceback (most recent call last):
  File "<string>", line 4, in ?
  File "/home/franz/PyQtTest.py", line 9, in ?
    from qt import *
  File "/usr/local/lib/python2.1/site-packages/qt.py", line 925, in ?
    libqtc.sipRegisterClasses()
RuntimeError: SIP - module "qt" implements QObject but it has already been implemented

Scribus uses Py_NewInterpreter()  to create a new Python Interpreter
for every Script that should be run, to ensure that every Script has a
clean namespace.

Avoiding Py_NewInterpreter() by using everytime the main Python Interpreter
causes this error on the second run:
    Fatal Python error: PyThreadState_Get: no current thread

Could you tell me a way how to avoid these errors?

BTW here's my System Configuration:
- SuSE 7.0
- Python 2.1
- PyQt-3.4
- Qt-3.04

Python, Qt and PyQt are compiled from source.

Best regards,
Franz Schmid

Scribus Homepage: http://web2.altmuehlnet.de/fschmid






More information about the PyQt mailing list