[PyQt] sip module shared between multiple python installs
phil at riverbankcomputing.com
Tue Mar 30 14:31:51 BST 2010
On Tue, 30 Mar 2010 15:08:15 +0200, Hans Jørgen Kjærnet
<hansj at stormstudios.no> wrote:
> As we are using different versions of python in our Studio, we would
> like sip to be installed into ONE common location.
> Here's a list of our pythons:
> python2.5.1 - compiled from repository and installed into a shared
> network location
> maya2009-python2.5.1 - The program we use for 3D (Autodesk Maya
> 2009)This is the python2.5.1 that comes with maya and resides under
> the maya location. It's a built in interpreter.
> nuke5.2-python2.5.1 - This is the python2.5.1 for nuke (The Foundry,
> Nuke). Also a built in interpreter.
> So, my initial thought was to compile and install sip (4.10.1) into
> one common site wide location (so there will be less maintenance),
> say: /net/share/python/site-packages, and have
> However, sip will only work for the python interpreter that was used
> to compile sip. In this case, let's assume I'm using the self compiled
> python2.5.1 from the repository. When I try to import sip from inside
> maya or nuke, I get a "Undefined symbol: PyUnicodeUCS2_DecodeLatin1. I
> figure this is becasue it can't locate the libpython.so in the
> self-compiled python2.5.1. Setting LD_LIBRARY_PATH doesn't do the
> trick either - besides, I really don`t want to have LD_LIBRARY_PATH
> I did install sip for each of the pythons, and it worked. This is what
> I would like to avoid as it presents an extra step of maintenance when
> dealing with upgrades.
> So, question:
> Is there a way to have the sip module shared between multiple
> instances of python interpreters - and if so - what's the best way to
> do this? FYI, PyQt works fine from a single site wide location.
The likely problem is that your Python interpreters have been built
differently relating to how Unicode characters are stored.
More information about the PyQt