[PATCH 1/4] HACKING: Add some documentation about using virtualenv with patchwork
Damien Lespiau
damien.lespiau at intel.com
Fri Sep 5 09:46:37 EST 2014
virtualenv is super nice to isolate devevelopment from the python
packages installed in the sytem. It also allows to have parallel
configurations to run tests againsts.
Signed-off-by: Damien Lespiau <damien.lespiau at intel.com>
---
docs/HACKING | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 52 insertions(+)
create mode 100644 docs/HACKING
diff --git a/docs/HACKING b/docs/HACKING
new file mode 100644
index 0000000..b5785bf
--- /dev/null
+++ b/docs/HACKING
@@ -0,0 +1,52 @@
+== Using virtualenv
+
+It's always a good idea to use virtualenv to develop python software.
+
+1. Install pip, virtualenv (python-pip, python-virtualenv packages)
+
+ Because we're going to recompile our dependencies, we'll also need
+ development headers:
+
+ - For the MySQL/MariaDB setups: mariadb-devel (Fedora)
+
+2. Create a new virtual environement. Virtual environments are "instances" of
+ your system python, without any of the extra python packages installed.
+ Inside a virtual env, we'll just install the dependencies needed for
+ patchwork and run it from there.
+
+ Virtual envs are useful to develop and deploy patchwork against a "well
+ known" set of dependencies. They can also be used to test patchwork against
+ several versions of django, creating a separate virtual env per version.
+
+ $ virtualenv django-1.7
+
+ will create a virtual env called 'django-1.7' in eponymous directory.
+
+3. Activate a virtual environment
+
+ $ sources django-1.7/bin/activate
+ (django-1.7)$
+
+ The shell prompt is preprended with the virtual env name.
+
+4. Install the required dependencies
+
+ To ease this task, it's customary to maintain a list of dependencies in a
+ text file and install them in one go. One can maintain such a list of
+ dependencies per interesting configuration.
+
+ (django-1.7)$ pip install -r docs/requirements-django-1.7-mysql.txt
+
+ Of course, this is a one-time step, once installed in the virtual
+ environment, no need to to install the requirements everytime.
+
+5. Now one can run patchwork within that environment
+
+ (django-1.7)$ ./apps/manage.py --version
+ 1.7
+ (django-1.7)$ ./apps/manage.py runserver
+
+6. To exit the virtual environment
+
+ (django-1.7)$ deactivate
+ $
--
1.8.3.1
More information about the Patchwork
mailing list