[Pythonmac-SIG] py2app and .so files

Ronald Oussoren ronaldoussoren at mac.com
Tue Mar 8 08:49:18 CET 2011


On 7 Mar, 2011, at 20:32, André Sintzoff wrote:

> 2011/3/7 Ronald Oussoren <ronaldoussoren at mac.com>:
>> 
>> On 6 Mar, 2011, at 20:41, Ned Deily wrote:
>> 
>>> In article
>>> <AANLkTikwtNQN-S-R3Q7fR29u0RCozECcdnEF2Eq-mdp6 at mail.gmail.com>,
>>> André Sintzoff <andre.sintzoff at gmail.com> wrote:
>>> 
>>>>> From source, using make local and make install which copies all files
>>>> in /usr/local/lib/python2.5/site-packages/mercurial/
>>>> 
>>>> After copying
>>>> dist/TortoiseHg.app/Contents/Resources/lib/python2.5/lib-dynload/mercurial/*
>>>> in
>>>> /System/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/lib-dyn
>>>> load/mercurial
>>>> the application fails a little bit further with:
>>>> ImportError:
>>>> '/System/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/lib-dy
>>>> nload/PyQt4/QtCore.so'
>>>> not found
>>>> 
>>>> So, the problem is perhaps not specific to mercurial itself.
>>> 
>>> You should not be copying *anything* into /System/Library/Frameworks.
>>> That's part of OS X and managed by Apple.   User-installed site packages
>>> for the system Pythons are not installed there (at least on recent
>>> versions of OS X), they are installed into /Library/Python.  But for
>>> your use case (i.e. to make a standalone distributable app), you don't
>>> want to have anything to do with the system Python.  I'm no longer
>>> familiar with that old version of Python 2.5 (BTW, there is a newer
>>> Python 2.5.4 OS X installer still available from python.org here:
>>> http://www.python.org/download/releases/2.5.4/ ), but the normal place
>>> for it to be looking for site-packages is:
>>> 
>>> /Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-pack
>>> ages
>>> 
>> 
>> He's just helping out in debugging why his py2app-ed application bundle doesn't work, and the py2app bootstrap code looks in the system lib-dynload directory when it shouldn't.
>> 
>> Why it does so is unclear at the moment, I'll have to reproduce the problem (which should be easy enough) and then find a solution.
> 
> For your information, I get similar results with py2app/examples/PyQt example.
> 
> 
> $ /Users/as/hg-repo/py2app/examples/PyQt/dist/hello.app/Contents/MacOS/hello
> ; exit;
> Traceback (most recent call last):
>  File "/Users/as/hg-repo/py2app/examples/PyQt/dist/hello.app/Contents/Resources/__boot__.py",
> line 31, in <module>
>    _run('hello.py')
>  File "/Users/as/hg-repo/py2app/examples/PyQt/dist/hello.app/Contents/Resources/__boot__.py",
> line 28, in _run
>    execfile(path, globals(), globals())
>  File "/Users/as/hg-repo/py2app/examples/PyQt/dist/hello.app/Contents/Resources/hello.py",
> line 2, in <module>
>    from PyQt4 import Qt
>  File "PyQt4/Qt.pyc", line 18, in <module>
>  File "PyQt4/Qt.pyc", line 15, in __load
> ImportError: '/System/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/lib-dynload/PyQt4/Qt.so'
> not found

Great, that will make it a lot easier to find (and then fix) the problem.

Ronald

> 
> 
> André



More information about the Pythonmac-SIG mailing list