代码之家  ›  专栏  ›  技术社区  ›  Enno Shioji

python的maven等价物[关闭]

  •  123
  • Enno Shioji  · 技术社区  · 15 年前

    我是JavaDeave/Python初学者,我缺少Maven特性,特别是依赖性管理和构建自动化(我的意思是,您不构建,但如何创建部署包)?

    是否有一个python等价物来实现这些特性?
    注意:我使用的是python 2.x

    5 回复  |  直到 8 年前
        1
  •  58
  •   Daniel Kluev    13 年前

    python使用distuils和setuptools进行依赖和打包。

    以下是一个解释基础知识的教程: http://docs.activestate.com/activepython/3.2/diveintopython3/html/packaging.html

    简而言之,您将拥有setup.py文件,该文件具有依赖性和脚本编译/安装信息,并且您可以用它构建eggs、dist tarballs、binary tarballs等。

        2
  •  32
  •   Tuukka Mustonen    8 年前

    没有直接匹配。但是,最接近的是:

    • zc.buildout :它可以设置关闭的环境、下载/处理依赖项、初始化脚本等。它还建立在插件(或他们称之为“配方”)上。几年前我用它的时候它还处于测试阶段,可能从那时起它就已经进化了。有学习曲线,就像Maven一样,但它也是最强大的。

    其他产品是maven/zc.buildout的子集:

    您可能知道Ant和Shell脚本,因此也可以检查以下Python工具:

    • Fabric Paver :添加了风格的命令行任务运行程序。它们将传统的命令行执行包装在Python中,并允许以更强大的方式(任务依赖性、解释输出、在远程服务器中运行命令等)管理各种任务。基本上,你不能用shell脚本来做任何事情,但是在Python中,它就不那么神秘了。
        3
  •  13
  •   user245678    11 年前

    我想指出 PyBuilder 它深受Maven的启发,但在配置中使用了Python而不是XML,因此它实际上是可读的,imho。

    有一个用于依赖性管理的插件(在后台使用PIP并区分构建和运行时依赖性),与Maven不同的是,您可以用一个命令运行整个构建生命周期。

        4
  •  8
  •   ars    15 年前

    对于部署,除了distutils/setuptoos,还可以查看 pip package (使用下面的设置工具)。它可以回滚失败的安装,也可以卸载(Easy_Install/SetupTools中缺少的内容)。此外,还可以通过需求文本文件指定依赖项。

        5
  •  5
  •   Ning Sun    14 年前

    使用virtualenv创建独立的项目环境并使用pip/easy_安装到管理依赖项是很好的。

    推荐文章