On 03-09-14 14:22, Marius Gedminas wrote:
Do you use buildout 1.x then? buildout 2.x doesn't support isolation, so all system packages are available (unless you wrap it with a virtualenv).
Buildout 2.x. syseggrecipe basically tells buildout that some package is available globally (by adding a develop-eggs/the_package.egg-link file or so). Otherwise buildout will download and compile numpy/psycopg2/mapnik if it encounters such a dependency in the setup.py.
=> is there a way to *selectively* use such a system package in an otherwise-isolated virtualenv?
You can symlink selected directories (the Python package directory and sometimes .so files from other subdirs) into the virtualenv. This is hacky and I know of no tool to automate it.
I was looking for an automated non-hacky way :-) Good to know I haven't missed anything. I'm almost exclusively using buildout, so I'm not that knowledgeable regarding pip.
=> What is the best way to differentiate here? Separate company-internal "wheelhouse" per ubuntu version? Custom tags?
My gut feeling says go with a company-internal wheelhouse. A simple directory with a bunch of *.whl files exposed via Apache's mod_autoindex suffices. export PIP_FIND_LINKS=https://intranet.server/wheels/trusty/ to make use of it automatically. $DISTRIB_CODENAME, defined by sourcing /etc/lsb-release, can be helpful here.
Ok, sounds fine. Reinout -- Reinout van Rees http://reinout.vanrees.org/ reinout@vanrees.org http://www.nelen-schuurmans.nl/ "Learning history by destroying artifacts is a time-honored atrocity"