[Pythonmac-SIG] why does the Mac installer hack the user's .bash_profile?
Russell E. Owen
rowen at uw.edu
Fri Apr 8 00:56:56 CEST 2011
In article <64461.1302209314 at parc.com>, Bill Janssen <janssen at parc.com>
wrote:
> I've got a Snow Leopard buildslave I'm trying to debug. So I thought
> I'd try Python 2.7 on it. Normally, I advise people to never try to
> install a different Python on a Mac, as it's too embedded in the OS to
> do safely, without a great deal of domain knowledge. But here, I
> figured I could always wipe the disk and start over without too much
> loss.
>
> So I ran the installer, and tried a few things, and it didn't solve my
> buildbot problems. So I decided to go back to the original System
> python. But now I find that the installer has put the 2.7 Python on my
> PATH?!? It does this apparently by hacking ~/.bash_profile. In there,
> there's a line saying
>
> The original version is saved in .bash_profile.pysave
>
> a file which doesn't seem to exist.
>
> So, why didn't I notice myself checking the checkbox to do this in the
> first place, and where is my original .bash_profile file?
I'm surprised you can't find it. I've always had it saved on some
obvious place. But I agree that hacking the file is ugly -- it least it
could ask.
In any case you can revert by just deleting the extra lines.
Other gripes about the installer:
- It names the version explicitly instead of using the Current symlink
(/Libraries/Packages/Python.Package/Versions/Current).
- It hacks the file even if doesn't need to (e.g. if Current is already
on the $PATH then the new python will be found; I think that would be
easy to check).
- It adds a bunch of links to /usr/local/bin even though that is
redundant with putting Python's bin directory on the $PATH. This makes
it a headache to switch Python versions -- something developers often
need to do when testing compatibility.
That said, they're minor annoyances and I've not come forward to fix any
of them. And the resulting python works nicely.
-- Russell
More information about the Pythonmac-SIG
mailing list