From 00a08a307574b231a5a8c1142bc675732a03632b Mon Sep 17 00:00:00 2001 From: Tom Lazar Date: Fri, 16 Aug 2013 14:26:57 +0200 Subject: add custom tox config that creates a development environment --- HACKING.txt | 22 ++++++++++++++++++++-- hacking-tox.ini | 25 +++++++++++++++++++++++++ 2 files changed, 45 insertions(+), 2 deletions(-) create mode 100644 hacking-tox.ini diff --git a/HACKING.txt b/HACKING.txt index 5b5dcc458..563903f2f 100644 --- a/HACKING.txt +++ b/HACKING.txt @@ -16,13 +16,31 @@ checkout. - Check out a read-only copy of the Pyramid source:: - $ git clone git://github.com/Pylons/pyramid.git + $ git clone git://github.com/Pylons/pyramid.git . (alternately, create a writeable fork on GitHub and check that out). +Since pyramid is a framework and not an application, it can be +convenient to work against a sample application, preferably in its +own virtualenv. A quick way to achieve this is to (ab-)use ``tox`` +with a custom configuration file that's part of the checkout:: + + tox -c hacking-tox.ini + +This will create a python-2.7 based virtualenv named ``env27`` (pyramid's +``.gitconfig` ignores all top-level folders that start with ``env`` specifically +for this use case) and inside that a simple pyramid application named +``hacking`` that you can then fire up like so:: + + cd env27/hacking + ../bin/pserve development.ini + +Alternatively, if you don't want to install ``tox`` at this point, +you an achieve the same manually by following these steps: + - Create a virtualenv in which to install Pyramid:: - $ virtualenv2.6 --no-site-packages env + $ virtualenv --no-site-packages env - Install ``setuptools-git`` into the virtualenv (for good measure, as we're using git to do version control):: diff --git a/hacking-tox.ini b/hacking-tox.ini new file mode 100644 index 000000000..9520b7aef --- /dev/null +++ b/hacking-tox.ini @@ -0,0 +1,25 @@ +[tox] +envlist = + env27,ttw27-create,ttw27-install + +[testenv:env27] +envdir = env27 +basepython = python2.7 +usedevelop = True +deps = setuptools-git +commands = + python setup.py dev + +[testenv:ttw27-create] +envdir = env27 +usedevelop = True +changedir = env27 +commands = + pcreate -s starter hacking + +[testenv:ttw27-install] +envdir = env27 +usedevelop = True +changedir = env27/hacking +commands = + python setup.py develop -- cgit v1.2.3