Question

I want to use the macports version of python instead of the one that comes with Leopard.

Was it helpful?

Solution

I have both installed:

$ which python
/usr/bin/python
$ which python2.5
/opt/local/bin/python2.5

I also added the following line to my .profile:

export PATH=/opt/local/bin:/opt/local/sbin:$PATH

OTHER TIPS

Don't. Apple ships various system utilities that rely on the system Python (and particularly the Python "framework" build); removing it will cause you problems.

Instead, modify your PATH environ variable in your ~/.bash_profile to put /opt/local/bin first.

Use the python_select port to switch python interpreters.

sudo port install python25
sudo port install python_select
sudo python_select python25

This will symlink /opt/local/bin/python to the selected version. Then export PATH as described above.

python_select is now deprecated, use this instead:

sudo port select python python26

Instead of uninstalling the built-in Python, install the MacPorts version and then modify your $PATH to have the MacPorts version first.

For example, if MacPorts installs /usr/local/bin/python, then modify your .bashrc to include PATH=/usr/local/bin:$PATH at the end.

I wouldn't uninstall it since many scripts will expect python to be in the usual places when they do not follow convention and use #!/usr/bin/env python. You should simply edit your .profile or .bash_profile so the macports binaries are the first in your path.

Your .profile should have this line:

export PATH=/opt/local/bin:/opt/local/sbin:$PATH

If not, add it in, and now your shell will search macport's bin/ first, and should find macports python before system python.

The current Macports installer does the .profile PATH modification automatically.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top