buildout.locallib use egg-packages installed on site-packages folder.
Project description
buildout.locallib use egg-packages installed on site-packages folder.
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
Setup
Write buildout.cfg with extensions = buildout.locallib:
[buildout] parts = foo extensions = buildout.locallib ...
ToDo
Write tests.
cleanup develop-eggs folder.
History
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
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file buildout.locallib-0.3.0.tar.gz
.
File metadata
- Download URL: buildout.locallib-0.3.0.tar.gz
- Upload date:
- Size: 4.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | d5d89d2fb82e8f86409a93e3a8c4d7eca4a322f4a8ba0714c54fcf01c621d5e2 |
|
MD5 | c6026ea998a8c58f4e0699437b2ed40b |
|
BLAKE2b-256 | 7620346123fb481ffe95edfa8f1f16c8d076840228e10b284807eafcb3193e28 |