创建已安装软件包的统一目录结构,并与实际内容进行符号链接,以便于导航。

collective.recipe.omelette的Python项目详细描述


详细文档

简介

命名空间包提供了能够分发大型 小的,独立的系统。不过,它们的导航可能有些笨重, 因为你的蛋藏里有一大堆蛋,然后一个看起来没完没了的 您需要打开一系列目录才能真正找到鸡蛋的内容。

这个配方设置了一个目录结构,该结构映射实际的python名称空间,其中 指向鸡蛋内容物的符号链接。所以,与其这样…:

egg-cache/
    my.egg.one-1.0-py2.7.egg/
        my/
            egg/
                one/
                    (contents of first egg)
    my.egg.two-1.0-py2.7.egg/
        my/
            egg/
                two/
                    (contents of second egg)

…你得到这个:

omelette/
    my/
        egg/
            one/
                (contents of first egg)
            two/
                (contents of second egg)

您还可以在煎蛋中包含非蛋化的python包。这使得 获取一条可以添加到python path中的路径,以用于特定的python环境 比如在mod_wsgi或pydev下运行。

Zope和Plone的典型用法

对于典型的plone构建,有一个名为"instance"的部分使用plone.recipe.zope2instance recipe和 名为"zope2"的部分使用plone.recipe.zope2install recipe,对buildout.cfg的以下添加将 结果生成一个煎蛋卷,包括zope实例使用的所有鸡蛋和旧式产品以及 来自zope的lib/python的包。如果你想让煎蛋卷找到所有的东西,那么煎蛋卷放在最后是很重要的:

[buildout]
parts =
    ...(other parts)...
    omelette

...

[omelette]
recipe = collective.recipe.omelette
eggs = ${instance:eggs}
products = ${instance:products}
packages = ${zope2:location}/lib/python ./

(注意:如果您的实例部分缺少"products"变量,那么也可以从煎蛋饼部分中省略它,或者 煎蛋卷会自动生成失败。)

支持的选项

配方支持以下选项:

< DL>
鸡蛋
蛋卷中应包含的鸡蛋列表。
位置
(可选)覆盖创建煎蛋的目录(默认为parts/[构建部分的名称])
忽略开发
(可选)忽略当前正在开发的鸡蛋(列在${buildout:develop}中)。默认值为false
忽略
(可选)准备煎蛋时要忽略的鸡蛋列表。
其内容应包含在煎蛋中的python包的列表。每一行的格式应该是 [包位置][目标目录],其中包位置是包的实际位置,并且 target_目录是包应该插入到煎蛋中的(相对)位置(默认值 到顶层)。
产品
(可选)旧Zope 2样式产品目录列表,其内容应包含在煎蛋中, 每行一个。(对于向后兼容性-相当于使用以产品为目标的包 目录。)

将煎蛋卷与茄汁一起使用

mustapha benali的buildout.eggtractor为buildout自动查找 无需编辑buildout.cfg即可开发鸡蛋。然而,如果你用它,煎蛋食谱 不会注意到你的鸡蛋,除非你a)手动添加到煎蛋部分的鸡蛋选项,或 b)将煎蛋饼部件的名称添加到构建部件的拖拉机目标部件选项中。

将煎蛋卷与带拉链的鸡蛋一起使用

煎蛋卷目前还不知道如何处理拉链的鸡蛋。如果它遇到一个,你会 请参见如下警告:

omelette: Warning: (While processing egg elementtree) Egg contents not found at
/Users/davidg/.buildout/eggs/elementtree-1.2.7_20070827_preview-py2.4.egg/elementtree.  Skipping.

通过在[bu]中设置unzip=true标志,您可以告诉buildout解压所有鸡蛋。ildout]部分。 (请注意,这仅对设置了标志后下载的鸡蛋生效。)

运行测试

只需从SVN获取菜谱并运行:

python setup.py test

已知问题:测试在一个单独的进程中运行,因此当前 无法在配方中设置PDB断点并在测试期间进行调试。 如果你需要这样做,建立另一个建筑安装煎蛋 一部分,包括collective.recipe.omelete作为发育蛋。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java如何在数据库中存储工作日数据以及开始时间和结束时间?   mysql Java JPA内部联接查询不起作用   java MQ消息在不同的客户端应用程序中显示不同   javascript如何在xPage上提高typeAhead性能?   java在尝试保存EditText时无法暂停   mongodb“未能使用带参数的构造函数NO_构造函数实例化java.util.List”,   java如何修改使IllegalArgumentException:列“\u id”不存在的游标   转换Android。网Uri到Java。伊奥。输入流   java NetBeans RCP居中弹出窗口无法按预期工作   java将sql开发人员与netbeans连接起来   带有xmldsig签名的java JAXB编组   java ORACLE JDBC批处理执行不会返回受影响行的实际计数   java无法理解如何在由swagger自动生成的jaxrs服务器中访问请求头   java如何处理漏洞CVE20181258,同时将Spring安全版本5与外部客户端(最新版本)一起使用?   JavaSpring数据JPA存储库多租户单模式技术