mirror of
https://github.com/nottinghamtec/PyRIGS.git
synced 2026-01-20 15:02:31 +00:00
Enable vagrant env for development.
This commit is contained in:
66
config/vagrant/virtualenv_setup.sh
Normal file
66
config/vagrant/virtualenv_setup.sh
Normal file
@@ -0,0 +1,66 @@
|
||||
#!/bin/bash
|
||||
|
||||
# This will:
|
||||
# * Install pip, virtualenv and virtualenvwrapper.
|
||||
# * Set up virtualenvwrapper's paths etc.
|
||||
# * Create a new virtualenv.
|
||||
# * Install any pip requirements from the requirements.txt file.
|
||||
|
||||
# Expects one argument, the name of the virtualenv.
|
||||
|
||||
# The name we'll use for the virtualenv in which we'll install requirements:
|
||||
VENV_NAME=$1
|
||||
|
||||
echo "=== Begin Vagrant Provisioning using 'config/vagrant/virtualenv_setup.sh'"
|
||||
|
||||
# virtualenv global setup
|
||||
if ! command -v pip; then
|
||||
easy_install -U pip
|
||||
fi
|
||||
|
||||
if [[ ! -f /usr/local/bin/virtualenv ]]; then
|
||||
easy_install virtualenv virtualenvwrapper
|
||||
fi
|
||||
|
||||
|
||||
# If it doesn't look like .bashrc has the required virtualenvwrapper lines in,
|
||||
# then add them.
|
||||
if ! grep -Fq "WORKON_HOME" /home/vagrant/.profile; then
|
||||
echo "Adding virtualenvwrapper locations to .profile"
|
||||
|
||||
if [[ -d /vagrant/config/virtualenvwrapper/vagrant ]]; then
|
||||
echo "export VIRTUALENVWRAPPER_HOOK_DIR=/vagrant/config/virtualenvwrapper/vagrant" >> /home/vagrant/.profile
|
||||
fi
|
||||
|
||||
echo "export WORKON_HOME=/home/vagrant/.virtualenvs" >> /home/vagrant/.profile
|
||||
echo "export PROJECT_HOME=/home/vagrant/Devel" >> /home/vagrant/.profile
|
||||
echo "source /usr/local/bin/virtualenvwrapper.sh" >> /home/vagrant/.profile
|
||||
fi
|
||||
|
||||
# Get .virtualenvwrapper env variables set up:
|
||||
source /home/vagrant/.profile
|
||||
|
||||
if [[ -d /home/vagrant/.virtualenvs/$VENV_NAME ]]; then
|
||||
echo "Activating virtualenv $VENV_NAME."
|
||||
workon $VENV_NAME
|
||||
else
|
||||
echo "Making new virtualenv $VENV_NAME."
|
||||
# Also switches to the virtualenv:
|
||||
mkvirtualenv $VENV_NAME
|
||||
|
||||
# So that we can install things with pip while ssh'd in as vagrant user:
|
||||
sudo chown -R vagrant:vagrant /home/vagrant/.virtualenvs/$VENV_NAME/
|
||||
|
||||
# Automatically switch to the virtual env on log in:
|
||||
echo "workon $VENV_NAME" >> /home/vagrant/.profile
|
||||
fi
|
||||
|
||||
|
||||
# If we have a requirements.txt file in this project, then install
|
||||
# everything in it with pip in a new virtualenv.
|
||||
if [[ -f /vagrant/requirements.txt ]]; then
|
||||
echo "Installing from ./requirements.txt with pip."
|
||||
pip install -r /vagrant/requirements.txt
|
||||
fi
|
||||
|
||||
echo "=== End Vagrant Provisioning using 'config/vagrant/virtualenv_setup.sh'"
|
||||
Reference in New Issue
Block a user