This repository has been archived by the owner on Jul 5, 2020. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
shimizukawa/buildout.locallib
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
`buildout.locallib` use egg-packages installed on site-packages folder. `zc.buildout <http://pypi.python.org/pypi/zc.buildout>`_ check package installation by zc.buildout.easy_install.Installer that exclude /path/to/site-packages folder path for checking. When 'site-packages' folder include some easy-installed packages, We want to re-use these packages in some cases. Features -------- * Extends zc.buildout functionality to search installed packages. * create dummy '*.egg-info' / '*.egg-link' for specified packages. Using sample: using buildout.locallib extension ------------------------------------------------- site-packages include some eggs:: $ ls /path/to/site-packages easy-install.pth pip-0.6.3-py2.6.egg/ pastedeploy-1.3.3-py2.6.egg/ pastescript-1.7.3-py2.6.egg/ paste-1.7.4-py2.6.egg/ setuptools-0.6c11-py2.6.egg setuptools.pth write buildout.cfg:: [buildout] parts = foo [foo] recipe = zc.recipe.egg eggs = PasteScript run bootstrap and buildout:: $ python bootstrap.py $ bin/buildout -U ... list eggs dir:: $ ls eggs zc.recipe.egg-1.2.3b2-py2.6.egg pastescript-1.7.3-py2.6.egg pastedeploy-1.3.3-py2.6.egg paste-1.7.4-py2.6.egg (clean-up):: $ rm -R eggs Now update buildout.cfg to use ``buildout.locallib`` extension:: [buildout] parts = foo extensions = buildout.locallib ... And run buildout again:: $ bin/buildout -U ... Check your eggs folder again:: $ ls eggs buildout.locallib-0.0.1-py2.6.egg zc.recipe.egg-1.2.3b2-py2.6.egg If package exists at site-packages folder, now using installed version packages. Using sample: specified dummy package information -------------------------------------------------- site-packages include some libraries, but they are not installed by easy_insttall:: $ ls /path/to/site-packages ... feedparser.py ... write buildout.cfg with ``locallibs`` key and section:: [buildout] parts = foo newest = false #if you won't want to check newest version (network-access) extensions = buildout.locallib locallibs = locallibs [foo] recipe = zc.recipe.egg eggs = feedparser [locallibs] feedparser = feedparser==4.1 ``locallibs`` section require ``(dummy name) = (pkg name)==(version)`` style key-value pairs. Then, buildout.locallib create dummy ``feedparser-4.1.egg-info`` into the develop-eggs directory. In this way, setuptools recognizes that a 'feedparser' is installed and doesn't perform downloading. If target package have .egg-info file/directory, you don't need to write a `version` like below:: [locallibs] PIL = PIL But, if you omit a version for no-egg-info package, buildout.locallib can't recognize package version, then it'll cause DistributionNotFound exception. If you want to avoid this exception, you should set `locallibs_check = false` in buildout section. Options -------- locallibs A dictionary mapping package names to skip installing distribution that was installed on python's site-packages directory already. This can be used to specify a set of distribution versions independent of other requirements. locallibs_check default is 'true'. buildout.locallib check distribution existing on site-packages and raise exception if distribute was not found. If set 'false', skip check. Requirements ------------ * Python 2.4 or later Dependencies ------------ * `setuptools <http://pypi.python.org/pypi/setuptools>`_ or `distribute <http://pypi.python.org/pypi/distribute>`_ * `zc.buildout <http://pypi.python.org/pypi/zc.buildout>`_ Setup ----- Write buildout.cfg with `extensions = buildout.locallib`:: [buildout] parts = foo extensions = buildout.locallib ... ToDo ----- * Write tests. * cleanup develop-eggs folder. History ------- 0.3.1 (2013-8-18) ~~~~~~~~~~~~~~~~~~ * Fix: create develop-eggs directory if missing. 0.3.0 (2011-3-31) ~~~~~~~~~~~~~~~~~~ * Add: locallibs_check option is now available. 0.2.0 (2010-7-12) ~~~~~~~~~~~~~~~~~~ * Add: create dummy '*.egg-info' / '*.egg-link' for specified packages. 0.1.0 (2010-6-27) ~~~~~~~~~~~~~~~~~~ * first release
About
zc.buildout extensions for to use site-packages for egg package searching.