Skip to content

Instantly share code, notes, and snippets.

@hemanth
Created July 8, 2012 12:22
Show Gist options
  • Save hemanth/3070694 to your computer and use it in GitHub Desktop.
Save hemanth/3070694 to your computer and use it in GitHub Desktop.
Creating a shared Python virtual environment

Creating a shared Python virtual environment

Install virtualenv/virtualwrapper:

sudo easy_install pip
sudo pip install virtualenvwrapper

Create a venv for libs you want to reuse in other venvs:

mkvirtualenv myglobals

Install some libs (here, IPython):

pip install ipython

Create a script for $VIRTUALENVWRAPPER_HOOK_DIR/postactivate (example: ~/Python/myglobals.sh):

echo '#!/bin/bash' >> ~/Python/myglobals.sh
echo "export PATH=\$PATH:$VIRTUAL_ENV/bin" >> ~/Python/myglobals.sh
echo add2virtualenv `virtualenvwrapper_get_site_packages_dir` >> ~/Python/myglobals.sh

Deactivate and create a venv for your project:

deactivate
mkvirtualenv myproject

Then add myglobals venv script in $VIRTUALENVWRAPPER_HOOK_DIR/postactivate:

echo 'source ~/Python/myglobals.sh' >> $VIRTUALENVWRAPPER_HOOK_DIR/postactivate

Deactivate and workon:

deactivate
workon myproject

You've done.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment