On Oct 12, 2006, at 11:40 PM, Dethe Elza wrote:
On 12-Oct-06, at 2:15 PM, Ronald Oussoren wrote:What are you using to test? I've tested with the SillyBalls screensaver in PyObjC's examples directory (Examples/Plugins/ SillyBallsSaver).I've been testing with my screensaver, Pastels, but I just tried with SillyBalls and it also failed to load.I'm also using the SVN HEAD for altgraph, modulegraph and the other related projects, I don't know if that helps.If upgrading doesn't help, or the SillyBallsSaver example doesn't work for you, I'd like to know loads of version information (Python, PyObjC, py2app, altgraph, modulegraph, macholib) and the exact error message you get in Console.app (close SystemPreferences, open Console.app, use the Clear button, then open a freshly build version of your saver or the SillyBals saver).macholib 1.1 modulegraph 0.7 altgraph 0.6.7 bdist_mpkg 0.4.2
I have macholib 1.2, modulegraph 0.7.1, altgraph 0.6.8 and py2app 0.3.5, all fresh checkouts from svn.
Any others? Console output from opening SillyBalls: 'import site' failed; use -v for traceback Traceback (most recent call last):File "/Users/delza/Library/Screen Savers/SillyBalls.saver/ Contents/Resources/__boot__.py", line 7, in ?_disable_linecache()File "/Users/delza/Library/Screen Savers/SillyBalls.saver/ Contents/Resources/__boot__.py", line 2, in _disable_linecacheimport linecache ImportError: No module named linecache2006-10-12 14:37:36.350 System Preferences[839] SillyBalls has encountered a fatal error, and will now terminate. 2006-10-12 14:37:36.350 System Preferences[839] An uncaught exception was raised during execution of the main script:ImportError: No module named linecache
Could you check the Info.plist and the structure of the screensaver?Info.plist should have a key PyResourcePackages with an empty array as its value and an PyRuntimeLocations that points to an embedded python framework. The patch I just checked in ensures that PyResourcePackages is empty, with an unpatched version the array will contain some strings and that messes up sys.path.
There should be a lib/python2.4 in the Resources directory of the screensaver, that should contain site-packages.zip, site.py and a lib- dynload directory.
To make absolutely sure you have my patched version you could check py2app/bundletemplate/plist_template.py, there is a definition of PyResourcePackages in there, the value of which should be an empty list. One way to check:
.>> import pprint .>> import py2app.bundletemplate.plist_template.>> pprint.pprint(py2app.bundletemplate.plist_template.infoPlistDict ('dummy'))
{'CFBundleDevelopmentRegion': u'English', 'CFBundleDisplayName': u'dummy', 'CFBundleExecutable': u'dummy', 'CFBundleIconFile': u'dummy', 'CFBundleIdentifier': u'org.pythonmac.unspecified.dummy', 'CFBundleInfoDictionaryVersion': u'6.0', 'CFBundleName': u'dummy', 'CFBundlePackageType': u'BNDL', 'CFBundleShortVersionString': u'0.0', 'CFBundleSignature': u'????', 'CFBundleVersion': u'0.0', 'LSHasLocalizedDisplayName': False, 'NSAppleScriptEnabled': False, 'NSHumanReadableCopyright': u'Copyright not specified', 'NSMainNibFile': u'MainMenu', 'NSPrincipalClass': u'dummy', 'PyMainFileNames': [u'__boot__'], 'PyResourcePackages': [],'PyRuntimeLocations': [u'@executable_path/../Frameworks/ Python.framework/Versions/2.4/Python', u'~/Library/Frameworks/Python.framework/ Versions/2.4/Python', u'/Library/Frameworks/Python.framework/ Versions/2.4/Python', u'/Network/Library/Frameworks/ Python.framework/Versions/2.4/Python', u'/System/Library/Frameworks/ Python.framework/Versions/2.4/Python'], u'PythonInfoDict': {'PythonExecutable': u'/Library/Frameworks/ Python.framework/Versions/2.4/Resources/Python.app/Contents/MacOS/ Python', 'PythonLongVersion': u'2.4.4c1 (#1, Oct 11 2006, 15:11:04) \n[GCC 4.0.1 (Apple Computer, Inc. build 5341)]',
'PythonShortVersion': u'2.4',u'py2app': {'version': u'0.3.5', 'template': u'bundle'}}}
RonaldP.S. Are you sure you installed the latest version of py2app in the right version of Python? If you installed python2.5 after installing python2.4 easy_install might point to the 2.5 version of easy_install (if you have that installed), if it is easy_install-2.4 should pick up the correct version.
smime.p7s
Description: S/MIME cryptographic signature
_______________________________________________ Pythonmac-SIG maillist - Pythonmac-SIG@python.org http://mail.python.org/mailman/listinfo/pythonmac-sig