首页 文章

distutils,distutils2,pip and requirements [关闭]

提问于
浏览
8

我正在潜入包装Python应用程序的世界,并设法进入这种混乱状态,由于我应该处理的所有概念和选项,我的头开始旋转 .

Question:

What do I need to accomplish? 从位于git服务器上的源部署我的Python项目 . 部署工具应该获取并安装所有依赖项,其中大部分都可以通过PIP获得,一个需要通过Git获取和安装 . 最终结果应该可以通过Pip安装,所以我可以做一些事情:

[~] git clone git://some/path/project.git
[~] pip install project/

Context: 目前我正在尝试让Distutils2做我想做的事,但似乎使用'generate-setup'命令制作的setup.py不能与Pip一起使用 .

我想使用Distutils2,因为它应该是所有人的未来证明 . 但是关于所有工具的各种文档都是可怕的(准确的信息与过时和不准确的信息混合在一起),这会让一个人质疑他的理智 .

所以我该怎么做?坚持distutils和setup.py?或者我需要看一下像Buildout这样的东西?

那个问题的回答者可以用特定工具列出我应该做的事情(例如:使用Distutils2部署代码,使用PIP安装依赖项,git依赖项编写脚本并将所有内容粘合在一起做XYZ) .

编辑:我使用的是Distutils2 1.0a4,它似乎与文档不兼容 .

编辑2:重新格式化问题,使我的问题更清楚 .

Edit3:这是我打破Python打包和分发工具链的第四次尝试 . 我不是想让其他人为我做我的工作,但是对于一个新手而言,几乎不可能破解特定工具应该做什么,它开始的地方和另一个结束的地方 . 特别是因为工具之间的功能重叠 . 我不是位于硅谷周围的圣人,他们可以让我知道秘密,公开的文件是没有用的 .

Final Edit: 虽然我没有完全清楚地来找我 . 有关Python打包和部署自动化的方法有很多种 . 还有许多工具可以帮助您完成工作 . 然而,虽然这些工具之间存在显着的功能重叠,但工具链却在不断发展,到目前为止还没有明确的说明.2411706_ . 分配工具链军备竞赛仍处于全面激烈状态,尚未出现明显的胜利者 . 这可能会让我们感到困惑,他们希望Python中的大部分内容都能正常工作 . 我所追求的(distutils / setuptools pip virtualenv以Buildout方式甚至与Buildout半集成)当然是可行的,但它没有多大意义,不是因为它不可能 - 而是因为没有人这样做 . 如果你需要这种复杂程度,那么你需要提交 . 就个人而言,我决定将virtualenv抛弃(对于这个项目)并拥抱Buildout .

2 回答

相关问题