OS X install confusion

Paul McNett p at ulmcnett.com
Thu Jun 14 20:25:34 EDT 2007


John Fisher wrote:
> Ted <tedlandis at gmail.com> wrote:
> 
>> On Jun 14, 1:31 pm, Kevin Walzer <k... at codebykevin.com> wrote:
>>> John Fisher wrote:
>>>> Hi Groupies,
>>>> I have an Intel Macbook running OS X 10.4.
>>>> It came installed with Python 2.3.5. I have since installed MacPython
>>>> with version 2.4.4, cool.
>>>> When I open a bash terminal session and type python, it brings up
>>>> version 2.3.5. If I type IDLE it brings up version 2.4.4.
>>>> My question: what do I have to do to get it to bring up 2.4.4 with the
>>>> "python" command?
>>>> Thanks for bringing light to my ignorance.
>>>> JF
>>> Sounds like a path problem. Apple's system Python is installed in
>>> /usr/bin. Your installation is probably in /usr/local/bin. Edit your
>>> profile or use the full path.
>>>
>>> --
>>> Kevin Walzer
>>> Code by Kevinhttp://www.codebykevin.com
>> The default python on tiger (2.3.5) is sym-linked to /usr/bin/python
>> and /usr/bin/pythonw.
>>
>> I found it easier to relink to the new installation path. This also
>> leaves /usr/bin/python23 and /usr/bin/pythonw23 still linked to the
>> original version if you want to quickly check something.
>>
>> Cheers,
>> Ted
> 
> OK, please give a little more information how I can accomplish this
> "re-link".

Your Python 2.5 is likely installed here:

/Library/Frameworks/Python.framework/Versions/Current/bin

But OS X comes with a "system Python", version 2.3.5, likely installed here:

/usr/bin

If you look at /usr/bin, you'll see:

lrwxr-xr-x   1 root  wheel      9 Jan 31 17:24 python -> python2.3
lrwxr-xr-x   1 root  wheel     72 Jan 31 17:24 python2.3 -> 
../../System/Library/Frameworks/Python.framework/Versions/2.3/bin/python
lrwxr-xr-x   1 root  wheel     10 Jan 31 17:24 pythonw -> pythonw2.3
-rwxr-xr-x   1 root  wheel  29704 Aug 19  2006 pythonw2.3

So, python is linked to python2.3, and python2.3 is in turn linked to 
/System/Library/Frameworks/Python.framework/Versions/2.3/bin/python

You need to (warning: watch for line wrap):

sudo -s
<enter your password>
cd /usr/bin
ln -s /Library/Frameworks/Python.framework/Versions/Current/bin/python 
python_current
ln -s /Library/Frameworks/Python.framework/Versions/Current/bin/pythonw 
pythonw_current
rm python
rm pythonw
ln -s python python_current
ln -s pythonw pythonw_current

However, that isn't what I did. I like the system being able to find and 
use the system-installed python, but I like my scripts to use the python 
version I installed (2.5). To get that, skip the above symlinking and 
instead edit your .bash_profile file (hidden file inside your home 
directory) and put these lines at the top:

PATH="/Library/Frameworks/Python.framework/Versions/Current/bin:${PATH}
export PATH

-- 
pkm ~ http://paulmcnett.com



More information about the Python-list mailing list