If you install multiple versions of python (I currently have the default 2.5, installed 3.0.1 and now installed 2.6.2), it automatically puts stuff in /usr/local
, and it also adjusts the path to include the /Library/Frameworks/Python/Versions/theVersion/bin
, but whats the point of that when /usr/local
is already on the PATH, and all installed versions (except the default 2.5, which is in /usr/bin
) are in there? I removed the python framework paths from my PATH in .bash_profile
, and I can still type "python -V" => "Python 2.5.1"
, "python2.6 -V" => "Python 2.6.2"
,"python3 -V" => "Python 3.0.1"
. Just wondering why it puts it in /usr/local
, and also changes the PATH. And is what I did fine? Thanks.
Also, the 2.6 installation made it the 'current' one, having .../Python.framework/Versions/Current
point to 2.6., So plain 'python' things in /usr/local/bin
point to 2.6, but it doesn't matter because usr/bin
comes first and things with the same name in there point to 2.5 stuff.. Anyway, 2.5 comes with leopard, I installed 3.0.1 just to have the latest version (that has a dmg file), and now I installed 2.6.2 for use with pygame.
EDIT: OK, here's how I understand it. When you install, say, Python 2.6.2:
A bunch of symlinks are added to /usr/local/bin
, so when there's a #! /usr/local/bin/python
shebang in a python script, it will run, and in /Applications/Python 2.6
, the Python Launcher is made default application to run .py files, which uses /usr/local/bin/pythonw
, and /Library/Frameworks/Python.framework/Versions/2.6/bin
is created and added to the front of the path, so which python
will get the python in there, and also #! /usr/bin/env python
shebang's will run correctly.