我跳进了打包Python应用程序的世界,并设法进入了这种混乱的状态,由于我应该处理的所有概念和选项,我的头脑开始旋转。
问题:
我需要完成什么?从位于git服务器上的源部署我的Python项目。部署工具应该获取并安装所有依赖项,其中大部分通过PIP可用,其中一个需要通过Git获取和安装。最后的结果应该是可以通过Pip安装的,所以我可以这样做:
[~] git clone git://some/path/project.git
[~] pip install project/上下文:目前正在尝试让Distutils2做我想做的事情,但是使用“generate”命令生成的setup.py似乎没有与Pip一起运行。
我想使用Distutils2,因为它应该是未来所有证据中最具代表性的。但是,所有工具上的各种文档都是可怕的(准确的信息与过时的和不准确的信息混合在一起),这让人怀疑自己的理智。
那我该怎么办?坚持使用distutils和setup.py?还是我需要看一看类似于构建的东西?
能否请回答者说明我应该用特定的工具做什么(例如:使用Distutils2部署代码,使用PIP安装依赖项,为git依赖项编写脚本,并将所有内容结合在一起执行XYZ)。
编辑:我使用的是Distutils2 1.0a4,这似乎与文档不兼容。
Edit2:修改了问题的格式,让我的问题变得更清楚了。
Edit3:这是我第四次尝试打破Python打包和分发工具链。我并不是想让其他人为我做我的工作,但是对于一个新手来说,很难搞清楚一个特定的工具应该做什么,从哪里开始,从哪里结束。特别是由于工具之间的功能重叠。我不在硅谷,周围环绕着圣人,他们可以让我了解这些秘密,而公开提供的文件也没有用。
最终编辑:,尽管在开始这个问题时,我并没有真正考虑用Buildout替换虚拟环境。但是在我做研究的时候,我意识到了一些我一直都知道的事情,只是没有完全清楚地告诉我。Python打包和部署自动化有很多种方式。还有很多工具可以帮助你完成任务。然而,虽然工具之间存在着明显的功能重叠,但工具链一直在发展,到目前为止还没有明确的“标准最佳做法”。分销工具链军备竞赛仍处于激烈状态,尚未出现明确的胜利者。这可能会让我们noobs感到困惑,他们希望Python中的大部分垃圾都能正常工作。我想要的(distutils/setuptools + pip + virtualenv,以一种构建的方式,甚至是与Buildout的半集成)当然是可行的,但它只是没有什么意义,不是因为它不可能,而是因为没有人这样做。如果您需要这样的复杂程度,那么您需要提交。就我个人而言,我决定离开虚拟环境(这个项目),接受构建。
发布于 2012-06-11 09:00:11
看看积木;与一个名为mr.developer的构建插件一起,您可以将一个可以满足您要求的部署系统放在一起。
网站上有大量关于构建配置的示例和演示文稿,下面是一些可以让您入门的示例和演示文稿:
mr.developer做什么。发布于 2012-06-11 09:02:52
这并不需要困难:安装詹金斯并使用pip的requirements.txt文件来定义项目所需的包。之后,您可以在Jenkins中配置一个构建来执行各种任务,包括安装所需的包。它可以从您的存储库获得源代码,并安装+构建整个项目。
https://stackoverflow.com/questions/10976534
复制相似问题