I have been using the standard python that comes with OS X Lion (2.7.2) but I wanted to build a UCS-4 version to handle 4-byte unicode characters better.
I had already installed pip and packages like pytz, virtualenv and virtualenvwrapper, etc., and these are installed in
To build a new version of python on the machine (outside of any project specific virtual environments, that will come later), I followed the instructions on this article and managed to build it in
/usr/local/bin. The problem is that when I launched a new bash window, I got the following virtualenvwrapper error:
Traceback (most recent call last): File "<string>", line 1, in <module> ImportError: No module named virtualenvwrapper.hook_loader virtualenvwrapper.sh: There was a problem running the initialization hooks. If Python could not import the module virtualenvwrapper.hook_loader, check that virtualenv has been installed for VIRTUALENVWRAPPER_PYTHON=/usr/local/bin/python and that PATH is set properly.
The instructions said to move
/usr/local/bin to the top of the
/etc/paths file, and since then I've noticed some strange issues. I installed pip into
/usr/local/bin and now I have assumed that since I'm working in
/usr/local/bin, and the newly installed python's site packages is now located in
/usr/local/lib/python2.7/site-packages, when I do
pip freeze, it should be empty as nothing is installed there yet. However,
pip freeze still reports things installed in the old (OS X) site-packages folder. Here's some info after the build:
$ which python /usr/local/bin/python $ which pip /usr/local/bin/pip $ echo $PATH /usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin
When I uninstall a python package with pip, it removes it from the old site-packages folder as expected. When I install it again, instead of installing it in
/usr/local/lib/python2.7/site-packages, it installs it in
/Library/Python/2.7/site-packages (verified by attempting to install it again and receiving
Requirement already satisfied (use --upgrade to upgrade): pytz in /Library/Python/2.7/site-packages
). How is it getting that path for the old site-packages folder? Why won't it install it in the correct location for the python install it's using?
I'm getting several other issues since promoting
/usr/local/bin but I think if I understand this I'll be able to get somewhere.
Can anyone see what's happening? If you need any more info I'll be happy to provide it.