Which one is preferred? I am comfortable in Unix-esque environments and recently purchased a Macbook. I am currently using macports, as it is from Apple, but dont like how python 3.1 becomes /opt/local/bin/python31 (actually, i dont mind the path, that part is great, i dont like having to symlink it though).

A better example: I use python 2.6 for django development, but 2.5 ships with os x. That is fine until i run django server locally, 2.5 will be found first in my path.. (and prepending /opt/local/bin to path might break something depending on 2.5... id prefer to not touch anything installed explicitly by apple). is creating an alias really the best solution here?

What tips can you offer for using macports? is fink better?

  • 1
    Add /opt/local/bin to your path in your shell script that's sourced only by interactive shells. That way everything will work with the default Python, except what you run interactively in a terminal. Apple stuff doesn't source shell initialization files anyway, because programs are not fork()ed from any shell.
    – Terminus
    May 29, 2009 at 21:48

5 Answers 5


I used Fink for quite a while. One day, I tried out MacPorts, and never switched back to fink.

I found (subjectively) that the packages in MacPorts were kept more up to date, and had fewer tendencies on install to get into mutual-dependency loops of death. Fink packages would often just simply not install, or have versioning/testing issues that I had to go in and fix myself from the source. My MacPorts repository of software is also more compact for some reason; it's about half the disk space of the similarly-equipped fink tree I used to maintain.

MacPorts is a source-based distribution mechanism much like FreeBSD's ports, so it offers you the chance to just let it handle everything for you if you really don't care which compiler flags you pass to the cowsay utility, but do want more fine-grained control over what goes into apache, mysql, etc. I think it's a good compromise between typing ./configure make make install ten thousand times and giving up your system to the whims of a bunch of unknown package maintainers.

  • 2
    Just to second this, I too started on Fink, and then switched to MacPorts when Fink didn't have a package I needed. I've never looked back. Ports works just like in FreeBSD, which is comfortable for me, and uses paths that seem more "normal" to me.
    – jedberg
    May 27, 2009 at 16:39
  • 1
    Likewise. I bought a new Macbook Pro and decided it was a good time to try MacPorts, and I'd never switch back. There's more software, it's better-maintained and more up-to-date, and it works really well.
    – Dan Udey
    Jun 5, 2009 at 23:19

Macports is definitely a more up to date project. I've been using it since it was named Darwinports, and always suited me best (I'm a programmer).


Neither. Use the source, Luke. If you need quite a bit of Unix software so compiling from source becomes a chore, then look into pkgsrc (The NetBSD Packages Collection), MirPorts (The MirOS Ports Framework) and the likes.

  • os x was a good compromise for me.. its unix enough that im comfortable.. yet all the hardware is supported straight out of the box.. it never occured to me to use pkgsrc... or my favorite package manager. after using archlinux for so long, im accustomed to more bleeding edge software (my only real complaint) ... thanks for the response. May 27, 2009 at 14:37
  • 3
    MacPorts is a source based system, based off BSD ports. The community is smaller, so it seems like the available packages are more likely to be older versions. However, I try to send updated portfiles to pull down the newer versions whenever I come across something that I use that is outdated.
    – Scott Pack
    May 27, 2009 at 14:53
  • I'm with Ante. I tried both Fink and MacPorts years ago, and while they worked, something just didn't seem right - with everything in /opt/ (which, yes, I do understand makes cleanup/fixing easier). Now, I just compile everything I need into /usr/local and that's worked fine without a hitch. May 27, 2009 at 15:52
  • I've had trouble with Fink and MacPorts (and heck, I even tried Gentoo for the Mac!). pkgsrc sounds very interesting. May 27, 2009 at 17:26

I'm a fink user. Good support for the scientific computing I do...

But in deference to Ante Gotovina's call, I generally build eveyything from the source packages.


To the oart of the question about symlinks, you should install the python_select package which set's up symlinks to the version of Python you want.

Also, there's never been an issue I've run into where using a MacPorts build in preference to something supplied by Apple breaks an Apple supplied program. In other words, you should just set up your PATH to have /opt/local/bin at the front.

Not the answer you're looking for? Browse other questions tagged or ask your own question.