After switching to python 3.4.3 from 2.7.9 (which was quite simple), I often wish to test some of my scripts with python 2.7.9 before sharing them with colleagues. I am using a OSX yosemite platform with everything compiled from homebrew.
The situation was quite ugly (setting PATH
es and PYTHONPATH
at each step) - until I discovered pyenv which does this very easily and is easily installed using homebrew. So far, so good.
However, now that I am using this version of python, it does not necessarily play well with that of homebrew. Moreover, I found that I could switch back to the system's python, and more generally that pyenv could access that:
$ pyenv versions
system
2.7.9
* 3.4.3 (set by /usr/local/var/pyenv/version)
but how could I also add entries for the python
s compiled by homebrew?
You can install pyenv in your home directory (as described in pyenv's installation guide), and then create a symlink at ~/.pyenv/versions
to $(brew --cellar)/python
:
ln -s $(brew --cellar python)/* ~/.pyenv/versions/
The way Homebrew works nowadays, this will pick up both 2.x and 3.x.