buildout.locallib使用site-packages文件夹中安装的egg包。
项目描述
buildout.locallib使用安装在site-packages文件夹中的egg包。
zc.buildout通过zc.buildout.easy_install.Installer检查包安装,排除/path/to/site-packages文件夹路径进行检查。
当‘site-packages’文件夹包含一些通过easy_install安装的包时,我们希望在某些情况下重用这些包。
特性
扩展zc.buildout功能以搜索已安装的包。
为指定的包创建假‘.egg-info’ / ‘.egg-link’。
使用示例:使用buildout.locallib扩展
site-packages包含一些egg文件
$ 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
编写buildout.cfg
[buildout] parts = foo [foo] recipe = zc.recipe.egg eggs = PasteScript
运行引导和buildout
$ python bootstrap.py $ bin/buildout -U ...
列出egg目录
$ 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
(清理)
$ rm -R eggs
现在更新buildout.cfg以使用buildout.locallib扩展
[buildout] parts = foo extensions = buildout.locallib ...
然后再次运行buildout
$ bin/buildout -U ...
再次检查您的egg文件夹
$ ls eggs buildout.locallib-0.0.1-py2.6.egg zc.recipe.egg-1.2.3b2-py2.6.egg
如果包存在于site-packages文件夹中,现在使用已安装的版本包。
使用示例:指定假包信息
site-packages包含一些库,但它们不是通过easy_insttall安装的
$ ls /path/to/site-packages ... feedparser.py ...
使用locallibs键和部分编写buildout.cfg
[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 部分 require (dummy name) = (pkg name)==(version) 风格的键值对。然后,buildout.locallib 将 feedparser-4.1.egg-info 创建到 develop-eggs 目录。这样,setuptools 就会识别到已安装的 'feedparser',并不会执行下载。
如果目标包有 .egg-info 文件/目录,您不需要像下面那样写入 version。
[locallibs] PIL = PIL
但是,如果您省略了没有 .egg-info 的包的版本,buildout.locallib 就无法识别包版本,这将导致 DistributionNotFound 异常。如果您想避免这个异常,您应该在 buildout 部分设置 locallibs_check = false。
选项
- locallibs
一个将包名映射到跳过安装已安装在 python 的 site-packages 目录中的分布的字典。这可以用来指定一组独立于其他要求的分布版本。
- locallibs_check
默认为 'true'。buildout.locallib 检查 site-packages 中存在的分布,如果未找到分布则引发异常。如果设置为 'false',则跳过检查。
需求
Python 2.4 或更高版本
依赖关系
设置
使用 extensions = buildout.locallib 编写 buildout.cfg
[buildout] parts = foo extensions = buildout.locallib ...
待办事项
编写测试。
清理 develop-eggs 文件夹。
历史
0.3.1 (2013-8-18)
修复:如果缺失,则创建 develop-eggs 目录。
0.3.0 (2011-3-31)
添加:现在可用的 locallibs_check 选项。
0.2.0 (2010-7-12)
添加:为指定的包创建虚拟的 '.egg-info' / '.egg-link'。
0.1.0 (2010-6-27)
首次发布