I like using something that runs only when requirements.txt changes:
This assumes that source files are under project in your project’s root directory and that tests are under project/test. (You should change project to match your actually project name.)
venv: venv/touchfile
venv/touchfile: requirements.txt
test -d venv || virtualenv venv
. venv/bin/activate; pip install -Ur requirements.txt
touch venv/touchfile
test: venv
. venv/bin/activate; nosetests project/test
clean:
rm -rf venv
find -iname "*.pyc" -delete
- Run
maketo install packages inrequirements.txt. - Run
make testto run your tests (you can update this command if your tests are somewhere else). - run
make cleanto delete all artifacts.