I recently upgraded my Mac OS X 10.5 Leopard install to 10.6 Snow Leopard, and with that came an upgraded version of Python, 2.6.1 (instead if 2.5.1). Now when I type python
in the Terminal i still get
Python 2.5.1 (r251:54869, Apr 18 2007, 22:08:04)
[GCC 4.0.1 (Apple Computer, Inc. build 5367)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>>
I looked in /usr/bin/
and found that to get Python 2.6 I have to type python2.6
.
The question is: How do I make the python
command map to Python 2.6?
Best Answer
It’s easy:
See
man python
for a complete explanation from Apple.Also, one gotcha: make sure you are running the Python that came with your computer and not some other one that you installed. Do this by typing
which python
at your command prompt. It should point to/usr/bin/python
. I only mention this because my default is 2.6 under Snow Leopard (it was 2.5 when I was using Leopard). So the fact that you are getting 2.5 may indicate that there’s something else in your path.Update
To address comments below:
It does for me, in OS X 10.8.2. After doing
defaults write com.apple.versioner.python Version 2.6
, the default version of Python is indeed 2.6. (And likewise after changing back to 2.7.)This is true whether I run
python
directly, or use an executable script starting with#!/usr/bin/env python
—I get the expected version of Python.Indeed, it doesn’t fix that symlink.
However, run a short script that
print()
s thesys.path
and (at least on my relatively default setup) the 2.6 library directories are on the path and the 2.7 dirs are not on the path. Nor is theCurrent
symlinked directory on the path. So it should not be a problem for most scripts.However, it’s possible—haven’t tested—that the
Current
symlink is used by eithereasy_install
orpip
. That would cause problems. It sure does seem like a bug that the symlink isn’t updated when you update the Python version.