Python中是否有Rake等效项?


87

Rake是用Ruby编写的软件构建工具(例如AntMake),因此其所有文件都使用这种语言编写。Python中是否存在类似的东西?


3
您是否正在寻找一种通用的依赖关系解析和构建工具(例如make),该工具可以使用任何语言来构建项目?还是专门构建python包的东西?
伊恩·克莱尔兰德09年

1
一般的东西。构建Python包很有趣,但是可以使用常规工具执行。
e-satis



4
有人从乔·阿姆斯特朗幻灯片中来到这里吗?youtu.be/lKXe3HUG2l4?t=1270
nephewtom

Answers:



37

调用-面料没有SSH的依赖。

所述织物路线图讨论了织物的1.x将被分割为三个部分:

  1. 调用-非SSH任务执行。
  2. Fabric 2.x-利用Invoke的远程执行和部署库。
  3. 拼凑而成—“在Fabric上构建的常见部署/ sysadmin操作”。

Invoke是一个Python(2.6+和3.3+)任务执行工具和库,可从各种来源汲取灵感,以提供功能强大且简洁的功能集。

以下是Invoke网站的一些描述性陈述:

  • Invoke是一个Python(2.6+和3.3+)任务执行工具和库,可从各种来源汲取灵感,以提供功能强大且简洁的功能集。
  • 像Ruby的Rake工具和Invoke自己的前身Fabric 1.x一样,它提供了一个干净的高级API,用于运行Shell命令并从task.py文件定义/组织任务功能。

1
@IgorZevaka现在可以在Windows上运行,主题相同-github.com/pyinvoke/invoke/pull/119
Roman M. Koss

Shovel的用户大约4年之前。现在绝对要使用Invoke。命令行界面非常酷,任务声明非常简单,链接就像Make一样。真好
ddotsenko


6

Waf是基于Python的框架,用于配置,编译和安装应用程序。它源自其他构建工具的概念,例如Scons,Autotools,CMake或Ant。


1
Waf其他scons有什么好处?
e-satis



0

还要检查buildout,它不是用于部署的make系统,而是用于软件的make系统。

http://pypi.python.org/pypi/pysqlite/2.5.5

因此,这不是直接的替代,但是可能更适合您想要的工作,或者非常糟糕。


1
为此使用建筑就像是开一辆坦克去商场,不是吗?无论如何,通常在Zope / Plone之外使用任何Zope / Plone工具:-p
e-satis

“为了那个原因”?他没有指定要使用它的用途。无论如何,构建不是Zope / Plone工具。它也不大也不复杂。确实引人讨厌的是,某些人只会因为Zope开发人员编写或使用该工具而将其解雇。这种态度很愚蠢。
Lennart Regebro 09年

来吧,那只是在戏弄。我曾经在一家仅支持Plone的公司工作,是的,我们经常对所使用的工具开玩笑。那是一种理智的态度,你不觉得吗?
e-satis


-2

我会检查distutils

distutils软件包提供了将其他模块构建和安装到Python安装中的支持。新模块可以是100%纯的Python,也可以是用C编写的扩展模块,也可以是Python软件包的集合,其中包括以Python和C编码的模块。


它支持文档生成或运行单元测试之类的东西吗?
2011年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.