首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Buildout -从源安装鸡蛋

Buildout -从源安装鸡蛋
EN

Stack Overflow用户
提问于 2014-06-07 03:50:30
回答 1查看 376关注 0票数 1

我有一个buildout,其中包括三个python库的源代码库(这是一个Django web应用程序,有两个可重用的库)。从开发人员的角度来看,一切都运行得很好,但现在我想构建要部署的发行版。所以在我的buildout.cfg中,我有:

代码语言:javascript
复制
[buildout]
parts =
    django
develop =
    src/lib1
    src/lib2
    src/django_app
eggs =
    lib1
    lib2
    django_app

[django]
recipe = djangorecipe
...
eggs =
    lib1
    lib2
    django_app
    ...

我如何告诉buildout将它们打包成鸡蛋,并将它们安装在eggs/而不是develop-eggs/中,作为回源的链接?

我希望在构建后能够做的是捕获lib1lib2构建的鸡蛋,并将它们上传到我本地的pypi代码库。我的替代方案是手动运行python setup.py bdist_egg,但看起来buildout应该已经知道这一点。

EN

回答 1

Stack Overflow用户

发布于 2014-06-10 17:05:48

抓取和安装鸡蛋与制作和托管鸡蛋是不同的,这就是为什么buildout本身不提供pypi服务器或类似的东西。

所以..。你必须自己制作适当的鸡蛋/释放,并将它们放置在buildout可以找到它们的地方。

  • 我假设你的库有一个setup.py?要想发布一个好的版本,您需要更新版本号,并在svn/hg/bzr/git中标记您的版本。(为了简化这项工作并减少耗时,请查看zest.releaser).
  • 您可以在本地安装几个 pypi 克隆,也可以在其中上传自定义包。但最简单的解决方案是在某处有一个包含发布的目录并使用 apache 或 nginx 托管它,请参阅 https://stackoverflow.com/a/13354463/27401。将该 URL 作为 find-links = http://example.com/my_packages/ 添加到您的 [buildout] 部分。 Buildout 现在将查看该页面内部(因此:确保告诉 apache 列出该目录中的所有文件)。 Setuptools 使用标准命名方案 (mypackage-1.2.zip),它就是这样工作的。
  • 唯一要做的就是把你的文件放到服务器上的apache/nginx目录中。首先,一个简单的定制脚本可能就足够了。有关更多自动化信息,请查看tags2sdists。您可以向它提供一个包含源码包的目录和一个可以放置打包版本的目录。你甚至可以在你的构建中以bin/tags2sdists src/ var/packages/的身份运行它。这将从您的所有标签创建源包,并将它们放在var/packages/中。然后将它们复制到其他地方。
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24089630

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档