|
From: Kevin A. <al...@se...> - 2009-07-30 00:48:21
|
I just got done upgrading to Leopard (finally) on a couple of machines
and decided to revisit the Python 2.6 problem with any sample or tool
that makes use of paths such as the codeeditor module. It appears
there was just a poorly coded hack to support bundlebuilder on the Mac
that needed a tweak in PythonCard/util.py.
def main_is_frozen():
if sys.platform == 'darwin':
# this is a temporary hack for bundlebuilder
return not (sys.executable == '/System/Library/Frameworks/
Python.framework/Versions/2.3/Resources/Python.app/Contents/MacOS/
Python' or \
sys.executable == '/Library/Frameworks/
Python.framework/Versions/2.4/Resources/Python.app/Contents/MacOS/
Python' or \
sys.executable == '/Library/Frameworks/
Python.framework/Versions/2.5/Resources/Python.app/Contents/MacOS/
Python')
else:
return (hasattr(sys, "frozen") or # new py2exe, McMillan
hasattr(sys, "importers") # old py2exe
or imp.is_frozen("__main__")) # tools/freeze, cx_freeze
becomes
def main_is_frozen():
if sys.platform == 'darwin':
# this is a temporary hack for bundlebuilder
return not (sys.executable.endswith('Resources/Python.app/
Contents/MacOS/Python')
else:
return (hasattr(sys, "frozen") or # new py2exe, McMillan
hasattr(sys, "importers") # old py2exe
or imp.is_frozen("__main__")) # tools/freeze, cx_freeze
This is still a hack and possibly needs a better solution, but at
least it appears to allow codeEditor, tabcodeEditor, and the
resourceEditor among other things to load. Hopefully, this will make
it easier to find other issues that need to be addressed for
PythonCard to run correctly with Python 3.x
BTW, if you are messing with various versions of Python on the Mac
remember that PythonLauncher uses the same settings regardless of
which version you run from the Finder. In the Terminal, you probably
need to edit the .cshrc in your home directory if you're trying to run
python 2.5 by default after installing 2.6. The MacPython installer
adds the following lines
# Setting PATH for MacPython 2.5
# The orginal version is saved in .cshrc.pysave
set path=(/Library/Frameworks/Python.framework/Versions/Current/bin
$path)
# Setting PATH for MacPython 2.6
# The orginal version is saved in .cshrc.pysave
set path=(/Library/Frameworks/Python.framework/Versions/2.6/bin $path)
You can always run the version you want by using an explicit path
like /usr/local/bin/python2.5 or /usr/local/bin/python2.6
ka
|