07
Dec
Combine zc.buildout and pip benefits ¶
I've just released a new zc.buildout recipe which allow to install packages with pip.
I am getting really excited about it because it has many advantages taken from both components.
- The recipe adds a virtualenv in the parts/ directory of your buildout then use this binary to generate executable python scripts. So you have a clean sandbox.
- The recipe is based on zc.recipe.egg#scripts so you can share your eggs between buildouts as usual.
- Of course, you can install some .pybundle files.
- You can build package from svn with the editables option.
- Each line found in the install option is the last part of a pip command. This allow you to build eggs with dependencies. For example to install lxml in a pure sandbox without libxml2 and libxslt installed you need Cython installed and this command line python setup.py install --static-deps to install lxml. This is easy with the recipe. Here is a sample configuration file for this case:
[buildout]
# the cache dir is used by buildout & pip
download-cache = download
parts = eggs
[eggs]
recipe = gp.recipe.pip
# eggs installed by pip (also add the Deliverance bundle)
install =
Cython
--install-option=--static-deps lxml==2.2alpha1
http://deliverance.openplans.org/dist/Deliverance-snapshot-latest.pybundle
# eggs installed by zc.recipe.egg
eggs =
Paste
pyquery
That's all !! This works perfectly on my Mac OSX and should works on most system.
In fact zc.recipe.egg will work in most cases but when you need a clean sandbox and some extra options, gp.recipe.pip is a good alternative.





