[PyQt] ImportError: No module named QtOpenGL

Danny Pansters danny at ricin.com
Thu May 3 23:56:04 BST 2007


On Tuesday 01 May 2007 09:23:53 Phil Thompson wrote:
> On Monday 30 April 2007 10:29 pm, Danny Pansters wrote:
> > On Monday 30 April 2007 14:50:29 Giovanni Bajo wrote:
> > > On 30/04/2007 9.11, Mark Summerfield wrote:
> > > > But I agree with the general point that using "import *" is
> > > > reasonable when you have a large library like PyQt4---providing that
> > > > library has sensible export behaviour. For example, I _assume_ that
> > > > the PyQt4 libraries will only export things with names matching
> > > > /Q[A-Z]\w+/ and would expect anything that didn't have such a name
> > > > either not to be exported or to have a special prefix such as "qt" to
> > > > avoid unpleasant surprises.
> > >
> > > Well, I had always assumed this as well, but it looks like we were both
> > > wrong
> > >
> > > :) The QTextStream non member functions
> > >
> > > (http://doc.trolltech.com/4.2/qtextstream.html#related-non-members) are
> > > not qualified in any way, and, worse, there are two named "hex" and
> > > "oct".
> > >
> > > Anyway, not that I care specifically: I'm going to prod the trolls
> > > about this issue (it's really unconvenient in C++ as well).
> >
> > <prodded troll>
> > Well, the main dislike about the "consolidated" module for me is that
> > unless it contains all pyqt4 modules it can never be clear which ones are
> > really present on a given box. It will depend on packaging (by 3rd
> > parties), or even worse packaging or source building by 3rd parties where
> > the modules are split up or are build-time settings. So it will be a very
> > unportable thing to use. For that reason alone its use should be
> > discouraged. Namespace clashes are second to that IMHO.
> >
> > Needless to say that my py-qt4-* ports for FreeBSD (yes, split up) don't
> > provide the consolidated module. Once you split the modules into seperate
> > packages, managing a consolidated module is a package-list nightmare. It
> > can be touched/changed by any of the py-qt4-* packages that are installed
> > or updated afterwards. Another reason to not use the metamodule :)
> > </prodded troll>
> >
> > IMHO,
>
> Then, IMHO, your package is broken. The consolidated module is a documented
> component of PyQt and should be present and importing it should always
> work. However, what it actually imports depends on what other modules are
> installed.

That's true, but it's also trivial to make one post-install.

> It's not as if it is difficult to fix. Just modify Qt.py to import the
> optional groups of classes in a try/except.

And then build/install it immediately with py-qt4-core. Yes, that's possible. 
I will add this to the port. I admit not having given this much thought, 
usually I try to patch as little as possible, but the way you put it, I agree 
that it should just be changed to expected behaviour.

Thanks,

Dan



More information about the PyQt mailing list