【问题标题】:How do I get started with zc.buildout and Distribute?如何开始使用 zc.buildout 和 Distribute?
【发布时间】:2010-02-21 11:37:32
【问题描述】:

我想使用 buildout 进行依赖管理,我听说分发是管理项目安装的新好方法。

但是,入门的简单教程似乎很少。我见过的最直接的方法是 Jacob Kaplan-Moss 的 Developing Django apps with zc.buildout(我的用例是一个 Web 应用程序),但是对于链的每个部分的作用以及最佳实践是什么,仍然不是很清楚。

我该如何处理这些事情?我想把事情做对。

【问题讨论】:

    标签: python buildout distribute


    【解决方案1】:

    我刚刚开始在http://reinout.vanrees.org/weblog/tags/softwarereleasesseries.html 记录整个工具链(2010-02-25:仍然需要编写构建和粘贴脚本文章)。

    基本工具链理念:使用 setuptools 打包您的 python 代码。就像您提到的“开发 django 应用程序”文章一样:每个应用程序都是它自己的包。将您的代码放在一个目录中并添加一个 setup.py。 setup.py 包含版本号、名称、依赖项等,您可以运行它来创建一个 yourproject-0.1.tar.gz,例如。

    快速下载所有内容(“easy_install xyz”)会使系统 python 的 site_packages 变得一团糟。可能与不兼容的版本。 Buildout(例如 virtualenv)为您提供了一个隔离的环境:已安装的软件包仅安装在该 virtualenv/buildout 的本地。

    混乱第 2 部分:您想要哪个版本?要获得任何可重复性和可靠性的衡量标准,您必须能够控制您使用的版本(“Django 1.0 还是 1.1?”)。 Buildout 允许这样做。

    【讨论】:

    • +1 链接到您的软件版本系列。 (继续写!:))
    • 关于差异的旁注:virtualenv 让您设置一切,就好像您在一个孤立的环境中一样。并正常工作而不会弄乱全球系统。 Buildout 在本地安装所有内容并更改本地包的路径。它们都工作正常。
    • FWIW,distribute 现已合并回 setuptools。
    • @aquavitae:你是对的。我已从我的答案中删除了要分发的参考。这样更清楚。
    【解决方案2】:

    您可能已经找到它,但您是否已经查看了the buildout website

    【讨论】:

      猜你喜欢
      • 2012-01-22
      • 2012-01-20
      • 2016-04-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-11-20
      • 1970-01-01
      相关资源
      最近更新 更多