[~] git clone git://some/path/project.git
[~] pip install project/
背景:
目前我正在尝试让Distutils2按照我的意愿工作,但似乎使用'generate-setup'命令创建的setup.py与Pip不兼容。
我想使用Distutils2,因为它被认为是最具未来性的工具。但各种工具的文档都很糟糕(准确信息与过时和不准确的信息混合在一起),这让人质疑自己的理智。
那么我该怎么办?坚持使用distutils和setup.py吗?还是需要看看类似Buildout的东西?
请问亲切的回答者能否明确说明我应该如何使用特定的工具(例如:使用Distutils2部署您的代码,使用PIP安装依赖项,针对git依赖项编写脚本并将所有内容粘合在一起执行XYZ)。
编辑:我正在使用Distutils2 1.0a4,它似乎与文档不兼容。
编辑2:重新格式化问题以更清楚地表达我的问题是关于什么的。
编辑3:这是我第四次尝试打破Python的打包和分发工具链。我不是在让别人替我工作,但对于新手来说,几乎不可能弄清一个特定的工具应该做什么,从哪里开始,以及另一个工具从哪里结束。特别是由于工具之间的功能重叠。我不在硅谷被智者包围,他们可以将我引入秘密中,公开可用的文档也没有用。
最终编辑:
虽然我一开始并没有考虑用Buildout替换virtualenv。但是在做研究时,我意识到了一些我一直知道但没有完全清晰地想到的东西。有很多关于Python打包和部署自动化的方法。还有许多工具可以帮助您完成这项工作。但是,尽管这些工具之间存在显著的功能重叠,但工具链不断发展,迄今为止还没有明确的“标准最佳实践”。分发工具链的竞争仍在白热化,尚未出现明确的胜利者。这可能会使我们这些新手感到困惑,因为我们期望Python中的大部分东西都能正常工作。我想要的(distutils / setuptools + pip + virtualenv以Buildout方式或与Buildout半集成)肯定是可行的,但这并不太合理,不是因为它不可能 - 而是因为没有人这样做。如果您需要这种复杂度水平,则需要承担风险。就我个人而言,我已决定放弃virtualenv(对于这个项目),并拥抱Buildout。