跳转到主要内容

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)

  • 首次发布

项目详情


下载文件

下载您平台上的文件。如果您不确定要选择哪个,请了解更多关于 安装包 的信息。

源分布

buildout.locallib-0.3.1.tar.gz (4.9 kB 查看哈希值)

上传时间

由以下机构支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页面