[Pythonmac-SIG] Later release of Python with MacPython on Jaguar?
Jack Jansen
Jack.Jansen at cwi.nl
Wed Dec 10 06:34:31 EST 2003
Brian,
I like this script! Can I put it on the website?
On 9 Dec 2003, at 22:52, Brian Lenihan wrote:
>
> On Dec 9, 2003, at 12:55 PM, Gary Robinson wrote:
>
>> Is it possible/good/recommended to build a later release like Python
>> 2.3.2
>> or 2.3.3RC1 on Jaguar to replace the MacPython-supplied python with
>> it?
>>
>> Are their known problems with doing so?
>>
>> We're seeing some behavior that is mysterious enough that we
>> currently think
>> it might be a bug in python. We're wondering if it would clear up
>> with a
>> later python release than the MacPython-supplied one.
>>
>> --Gary
>
> You are probably better off leaving Apple's Python alone. I just
> rename
> everything so I can put it back later. I wrote a script modeled
> after gcc_select
> to make it easy to switch back and forth.
>
> I have Jack's additions for Apple Python installed, which, if I
> remember
> correctly, added a MacPython-2.3 folder in Applications.
>
> Before this script is run, you must rename the files and folders in
> either the
> ApplePython or MacPython tuples by hand, e.g:
>
> /System/Library/Frameworks/Python.framework ->
> /System/Library/Frameworks/Python.framework-moved
> /usr/bin/python -> /usr/bin/python-moved
> /usr/bin/python2.3 -> /usr/bin/python2.3-moved
> /usr/bin/pythonw - > /usr/bin/pythonw-moved
> /usr/bin/pythonw2.3 -> /usr/bin/pythonw2.3-moved
> /usr/bin/pydoc -> /usr/bin/pydoc-moved
>
> And, if you have a MacPython-2.3 folder in /Applications:
>
> /Applications/MacPython-2.3 -> /Applications/MacPython-2.3-Apple
>
>
>
> py_select
> --------------
> #!/usr/bin/env python
>
> import os
> import sys
>
> current_ver = "2.3"
>
> python_apps = "/Applications/MacPython-%s" % current_ver
>
> MacPython = ("/Library/Frameworks/Python.framework",
> "/usr/local/bin/python",
> "/usr/local/bin/python%s" % current_ver,
> "/usr/local/bin/pythonw",
> "/usr/local/bin/pythonw%s" % current_ver
> )
>
> ApplePython = ("/System/Library/Frameworks/Python.framework",
> "/usr/bin/python",
> "/usr/bin/python%s" % current_ver,
> "/usr/bin/pythonw",
> "/usr/bin/pythonw%s" % current_ver,
> "/usr/bin/pydoc"
> )
>
> def select_python(version, not_version):
>
> py_path = eval(version + "Python")[1]
>
> if os.path.exists(py_path):
> print "You are already using %sPython" % version
> sys.exit()
> elif os.geteuid() != 0:
> print """\
> *******************************************
> *** THE py_select SCRIPT MUST BE RUN ***
> *** AS root. ***
> *** NO CHANGES WERE MADE TO YOUR SETUP. ***
> *******************************************
> """,
> sys.exit()
>
> for dir in eval(version + "Python"):
> os.rename("%s-moved" % dir, dir)
> for dir in eval(not_version + "Python"):
> os.rename(dir, "%s-moved" % dir)
> os.rename(python_apps, "%s-%s" % (python_apps, not_version))
> os.rename("%s-%s" % (python_apps, version), python_apps)
> print "Default Python interpreter has been set to:"
> os.system("%s -c 'import sys; print sys.version'" % py_path)
>
> if len(sys.argv) == 1:
> print "Current default Python interpreter:"
> print sys.version
> elif sys.argv[1].lower() == 'apple':
> select_python('Apple', 'Mac')
> elif sys.argv[1].lower() == 'mac':
> select_python('Mac', 'Apple')
> else:
> print "usage: %s <apple|mac>" % sys.argv[0]
> #----
>
>
> _______________________________________________
> Pythonmac-SIG maillist - Pythonmac-SIG at python.org
> http://mail.python.org/mailman/listinfo/pythonmac-sig
>
--
Jack Jansen <Jack.Jansen at cwi.nl> http://www.cwi.nl/~jack
If I can't dance I don't want to be part of your revolution -- Emma
Goldman
More information about the Pythonmac-SIG
mailing list