代码之家  ›  专栏  ›  技术社区  ›  Phillip B Oldham

使用zc.buildout指定自定义python_egg_cache dir?

  •  1
  • Phillip B Oldham  · 技术社区  · 15 年前

    我们在尝试部署一些使用zc.buildout的项目时遇到了问题,特别是我们发现他们希望 PYTHON_EGG_CACHE 整个节目的目录。我们想以某种方式将这个目录设置为与构建项目相同级别的目录,其中 eggs 可以找到。

    有人在网上提到,这可以为plone项目做,但有没有可能做到没有plone?

    是否有一些配方可以设置环境变量以便我们可以设置 巨蟒蛋缓存 中的可执行文件 ./bin ?

    2 回复  |  直到 12 年前
        1
  •  0
  •   Reinout van Rees    15 年前

    我不知道你的意思。您通常有三种选择:

    • 默认情况下,buildout将鸡蛋存储在名为 eggs/ 在构建目录中。

    • 您可以设置 eggs-dir buildout.cfg中的变量 [buildout]

    • 您也可以在 .buildout/defaults.cfg 在您的主目录中。这样,您就可以为所有项目设置默认值。方便地将所有鸡蛋存储在一个地方:例如,这样可以节省大量的下载时间。

    其中一个(尤其是最后一个)完成了你想要的吗?

    而且:不要在生成的鸡蛋里乱扔东西。 bin/* 文件夹。让大豆子挑鸡蛋,这就是它的目的。

        2
  •  4
  •   Martijn Pieters    12 年前

    python_egg_cache仅用于压缩蛋,最好是让zc.buildout安装所有需要的解压蛋:

    [buildout]
    ...
    unzip = true
    

    如果您的系统python已经安装了压缩蛋,但仍然需要解压才能访问资源,并且在脚本中设置python_egg_缓存是您唯一的选择(而不是为用户设置环境变量),则可以尝试使用 initialization 可以选择zc.recipe.egg将任意python代码添加到脚本中:

    [a-part]
    recipe = zc.recipe.egg
    ...
    initialization = 
        import os
        os.environ['PYTHON_EGG_CACHE'] = '/tmp/python_eggs'
    
    推荐文章