[Pythonmac-SIG] py2app and .so files

André Sintzoff andre.sintzoff at gmail.com
Mon Mar 7 20:32:45 CET 2011


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


André


More information about the Pythonmac-SIG mailing list