[PyQt] How to handle circular imports

Jakob Simon-Gaarde sip at skolesys.dk
Thu Jul 9 21:32:28 BST 2009


Hey there.

I have a problem regarding sip that I guess is probably trivial.

I have an C++ API which is contained in one library file. I am over half way 
though making python bindings. In the process of making these bindings I 
decided to split them op into 7 modules that each handle there logical 
partition of the problem domain, ie UserService, GroupService, RoleService, 
etc.

Until now it has been smooth, I created sip definitions for 20% of the 
UserService module and when implementing the RoleService I needed 
specifications from the UserService (UserItem) so I %Import'ed the UserService 
Module in RoleService. Everything worked as it should.

Then when I wanted to define the remaining 80% of the UserService module I 
also needed definitions from RoleService in UserService (RoleItem)... But, 
but, but here I ran into problems, cause when I in the RoleService module's 
sip definitions already imported UserService, I got a circular import when I 
started importing RoleService in UserService.

Is this possible to work around?

the prob:
this is what happens in sip while processing module A:
A imports B which then import A

cause A depends on specs from B and B depends on specs from A

/ Jakob Simon-Gaarde
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 197 bytes
Desc: This is a digitally signed message part.
Url : http://www.riverbankcomputing.com/pipermail/pyqt/attachments/20090709/13d1cd60/attachment.bin


More information about the PyQt mailing list