How to install framework (from pkg file) in a non-standard location? In brief, my question is this:

How can I install a framework from a &ast;.pkg file somewhere other than under /Library/Frameworks (or /System/Library/Frameworks)?



Background

I want to install a version of Python 2.7.3 that lives under $HOME/Library/Frameworks/Python.framework and $HOME/python.

My goal here is to have a version of Python that is as independent as possible from the Python that comes with OS X Lion.  In particular, I want to have an installation of Python that is, as much as possible, not liable to be altered "behind-my-back" by system updates or other software updates.  That's why I want to keep this installation as clear as possible away from the "standard" places for them.

Among the problems I am trying to avoid by doing this is the buggy Tk framework that comes with the latest versions of OS X.

Therefore, a key sub-goal here is to install new Tcl and Tk frameworks, separate from the system-supplied ones.  The ones I want to install come from ActiveState ("Mac OS X (10.5+, x86_64/x86)"), in the form of a *.pkg file.

When I click on this file, I get presented with the usual "wizard"-like sequence of steps ("Introduction", "License", etc.).  At no point during this sequence I am offered the opportunity to choose a different installation location for these frameworks before I reach the choice of clicking on the INSTALL button.1

I suspect that if I click on this button, the installed files will go under /Library/Frameworks (or possibly under /System/Library/Frameworks), which is what I'm trying to avoid.  (Indeed, when I click on INSTALL, I'm immediately presented with an password-entry dialog, which is a pretty good indication that the installation will put files somewhere under /Library or /System.)

Therefore I'm looking for an alternative way to perform this installation that will allow me to explicitly set the destination folder for the installed files.

1Yes, the installer allows me choose a different volume for the installation, but it does not let me specify, e.g., $HOME/Library/Frameworks as the destination for the installed files.
You can safely install Python under /Library/Frameworks and not worry about it interfering with the "system" Python, although with a few symlinks and/or $PATH changes you can make it the default if you want.

As an alternative, you can install MacPorts and set its install root to whatever you want (the default is /opt/local, I believe, although this is configurable during setup), although the Python framework will still be installed under a Library/Frameworks subdirectory. I prefer the MacPorts distribution over the python.org one because there are many additional modules you can install which are pre-configured to build correctly, which isn't always the case when you use pip or easy_install, depending on what you're trying to build. MacPorts also has a pretty decent versioning system, allowing multiple versions to coexist side-by-side, with simple tools to switch between them. As an added bonus, the MacPorts Tcl is not "broken," so everything should work out of the box. YMMV :)