Created

Embed URL

HTTPS clone URL

SSH clone URL

You can clone with HTTPS or SSH.

Download Gist

Install Python 2.7 (homebrew + pip + virtualenv) on Mac OS X Lion

View gist:1208841

Install Python

$ brew install readline sqlite gdbm
$ brew install python --universal --framework
$ python --version
Python 2.7

Symlinks...

$ mkdir ~/Frameworks
$ ln -s "/usr/local/Cellar/python/2.7.2/Frameworks/Python.framework" ~/Frameworks
$ /usr/local/share/python/easy_install pip
$ /usr/local/share/python/pip install --upgrade distribute

Add to .bashrc:

# Before other PATHs...
PATH=${PATH}:/usr/local/share/python

# Python
export WORKON_HOME=$HOME/.virtualenvs
export VIRTUALENVWRAPPER_PYTHON=/usr/local/bin/python2.7
export VIRTUALENVWRAPPER_VIRTUALENV_ARGS='--no-site-packages'
export PIP_VIRTUALENV_BASE=$WORKON_HOME
export PIP_RESPECT_VIRTUALENV=true
if [[ -r /usr/local/share/python/virtualenvwrapper.sh ]]; then
    source /usr/local/share/python/virtualenvwrapper.sh
else
    echo "WARNING: Can't find virtualenvwrapper.sh"
fi

Install virtualenv

$ pip install virtualenv 
$ pip install virtualenvwrapper

Test setup

$ mkvirtualenv test 
$ rmvirtualenv test

Hi,

Is there a reason you put PATH=${PATH}:/usr/local/share/python instead of PATH=/usr/local/share/python:${PATH} ?

Thanks!

Owner

Hmmmm... I can't recall any reason this would be. It looks like a typo. (I don't have my MacBook around to verify)

So with these steps I get the virtualenv running with py2.7.3 but in the normal command line I get the system's py2.7.1...

To have the latest python in normal enviroment I have this in .bashrc (that is loaded from .bash_profile):
PATH=/usr/local/share/python:/usr/local/bin/:${PATH}

This was super helpful :)

changing
brew install readline sqlite gdbm
to
brew install readline sqlite gdbm --universal
helped me

Same than @johnhaitas, add to add the --universal for the install of readline sqlite and gdbm

Helpful :+1:

I had to add the --universal for the install the sqlite and gdbm because when I tried to install python it showed this error:

Error: python dependency sqlite not installed with:
    --universal

I get a:

WARNING: Can't find virtualenvwrapper.sh

From the .bashrc

I had to change from:

    if [[ -r /usr/local/share/python/virtualenvwrapper.sh ]]; then
        source /usr/local/share/python/virtualenvwrapper.sh

to

    if [[ -r /usr/local/bin/virtualenvwrapper.sh ]]; then
        source /usr/local/bin/virtualenvwrapper.sh

to make it work, because virtualenvwrapper.sh got installed there.

Thanks for this.

Just wanted to point out that I had to do this

brew install readline sqlite gdbm --universal

to get it to work

$ brew install python --universal --framework

Homebrew already does dependency resolution - no need for this line!

A lot has changed in homebrew and these instructions are out of date. brew install --universal should take care of most of your problems. Also take a look at brew info python for installation instructions.

export VIRTUALENVWRAPPER_PYTHON=/usr/local/bin/python2.7
if [[ -r /usr/local/bin/virtualenvwrapper.sh ]]; then
    source /usr/local/bin/virtualenvwrapper.sh
else
    echo "WARNING: Can't find virtualenvwrapper.sh"
fi

Also seems to be more recent...

After install python, I find easy_install, virtualenvwrapper.sh and so on in /usr/local/bin not in /usr/local/share/python. just like bdejong shows above.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Something went wrong with that request. Please try again.