Jan*_*par 8 python distutils pip buildout
我正在潜入包装Python应用程序的世界,并设法进入这种混乱状态,由于我应该处理的所有概念和选项,我的头开始旋转.
题:
我需要完成什么?从位于git服务器上的源部署我的Python项目.部署工具应该获取并安装所有依赖项,其中大部分都可以通过PIP获得,一个需要通过Git获取和安装.最终结果应该可以通过Pip安装,所以我可以做一些事情:
[~] git clone git://some/path/project.git
[~] pip install project/
Run Code Online (Sandbox Code Playgroud)
上下文: 目前我正在尝试让Distutils2做我想做的事,但似乎使用'generate-setup'命令创建的setup.py不能与Pip一起使用.
我想使用Distutils2,因为它应该是所有人的未来证明.但是关于所有工具的各种文档都是可怕的(准确的信息与过时和不准确的信息混合在一起),这会让一个人质疑他的理智.
所以我该怎么做?坚持distutils和setup.py?或者我需要看一下像Buildout这样的东西?
请问那些善意的回答者请说明我应该使用特定工具做什么(例如:使用Distutils2部署代码,使用PIP安装依赖项,git依赖项编写脚本并将所有内容粘合在一起做XYZ).
编辑:我使用的是Distutils2 1.0a4,它似乎与文档不兼容.
编辑2:重新格式化问题,使我的问题更清楚.
Edit3:这是我打破Python打包和分发工具链的第四次尝试.我不是想让其他人为我做我的工作,但是对于一个新手而言,几乎不可能破解特定工具应该做什么,它开始的地方和另一个结束的地方.特别是因为工具之间的功能重叠.我不是位于硅谷周围的圣人,他们可以让我知道秘密,公开的文件是没有用的.
最终编辑: 虽然在开始这个问题时我并没有考虑用Buildout替换virtualenv.但在做研究的过程中,我意识到了我一直都知道的事情,但我并没有完全清楚地告诉我.有关Python打包和部署自动化的方法有很多种.还有许多工具可以帮助您完成工作.然而,虽然这些工具之间存在显着的功能重叠,但工具链却在不断发展,到目前为止还没有明确的"标准最佳实践".分配工具链军备竞赛仍处于全面激烈状态,尚未出现明显的胜利者.这可能会让我们感到困惑,他们希望Python中的大部分内容都能正常工作.我所追求的(distutils/setuptools + pip + virtualenv以Buildout方式甚至与Buildout半集成)当然是可行的,但它没有多大意义,不是因为它不可能 - 而是因为没有人这样做.如果你需要这种复杂程度,那么你需要提交.就个人而言,我决定将virtualenv抛弃(对于这个项目)并拥抱Buildout.
看一下buildout ; 与一个名为mr.developer的buildout插件一起,您可以将一个部署系统组合在一起,完成您要求的所有操作.
有关网络上的buildout配置的大量示例和演示文稿,以下是一些可以帮助您入门的示例和演示文稿:
关于扩建的简介:http ://www.slideshare.net/djay/buildout-how-to-maintain-big-app-stacks-without-losing-your-mind
包括演示文稿的YouTube视频,以便您可以一起收听.
关于如何使用buildout开发Django应用程序的优秀博客文章.
包括有关buildout和setup.py如何相互作用的详细信息.
planet.plone.org的配置:https://github.com/plone/planet.plone.org/blob/master/buildout.cfg
这构建了一个带有配置,样式,apache配置和cronjobs 的venus RSS聚合器,根据需要拉入鸡蛋.
在Plone的核心开发扩建:https://github.com/plone/buildout.coredev
复杂的扩建,可以提供开发Plone CMS所需的所有资源; 这是一个复杂的野兽,但它展示了你可以做些什么mr.developer.
| 归档时间: |
|
| 查看次数: |
2171 次 |
| 最近记录: |