Author: jtauber
Date: Fri Jan 30 12:30:52 2009
New Revision: 1133
Added:
wiki/MovingToDistutils.wiki
Log:
Created wiki page through web user interface.
Added: wiki/MovingToDistutils.wiki
==============================================================================
--- (empty file)
+++ wiki/MovingToDistutils.wiki Fri Jan 30 12:30:52 2009
@@ -0,0 +1,34 @@
+#summary the how and why of Pinax's move to distutils
+
+Pinax is changing the way that external dependencies are brought in during
development on trunk. Note that this document is only talking about changes
in how things work and will work on trunk, NOT necessarily how they will
work with a released version of Pinax.
+
+Until recently, Pinax had two choices for a given external dependency:
+
+ # use `svn:externals` and point to the external dependency's svn
repository
+ # include the external dependency code in the Pinax codebase
+
+However, there are problems with this approach:
+
+ # it largely relies on external dependencies being in svn and this is
increasingly not the case (although it was when Pinax started)
+ # it makes it difficult for Pinax itself to move away from svn
+ # there is no management of dependencies between external dependencies,
nor between particular projects in Pinax and their individual dependencies
+
+To solve these problems and more, Pinax is switching to a distutils-based
approach. This means:
+
+ # externals dependencies are encouraged to be released as
distutil-compliant packages with a valid setup.py and put on PyPI
+ # development versions of dependencies can be pulled in in a variety of
different ways including from git, hg or bzr repositories
+
+In order to develop from the Pinax trunk, you will need to use `pip`.
Because some external dependencies are retrieved via `git` and `bzr` you
will also need those if using Pinax turnk.
+
+Although we will eventually have per-project requirements files, there are
currently two requirements files that describe to `pip` what dependencies
to bring in and how:
+
+ * pinax/requirements/libs.txt
+ * pinax/requirements/external_apps.txt
+
+The former is actually a requirement of the latter so you can bring in all
external dependencies with:
+
+{{{
+ pip install -r pinax/requirements/external_apps.txt
+}}}
+
+We strongly recommend the use of `virtualenv` in conjunction with `pip` to
allow isolated environments to be set up without Pinax having to hack
`PYTHONPATH`.
\ No newline at end of file
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"pinax-updates" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/pinax-updates?hl=en
-~----------~----~----~----~------~----~------~--~---