Skip to main content

Python API 用于异步控制本地或远程、独立或并行的 unix 进程。

项目描述

Execo 提供了一个 Python API,用于异步控制本地或远程、独立或并行的 unix 进程。它特别适合在本地或远程主机上快速轻松地编写并行/分布式操作的工作流程:自动化科学工作流程、进行计算机科学实验、执行自动化测试等。核心 python 包是execo。execo_g5k包为Grid5000测试平台提供了一组工具和扩展。execo_engine包提供了简化计算机科学实验开发的工具

执照

Execo 的版权属于 INRIA Rhone-Alpes, Service Experimentation et Developpement。

Execo 是免费软件:您可以根据自由软件基金会发布的 GNU 通用公共许可证的条款重新分发和/或修改它,许可证的第 3 版或(由您选择)任何更高版本。

Execo 的分发是希望它有用,但没有任何保证;甚至没有对适销性或特定用途适用性的默示保证。有关详细信息,请参阅 GNU 通用公共许可证。

您应该已经收到了一份 GNU 通用公共许可证的副本以及 Execo。如果没有,请参阅 < http://www.gnu.org/licenses/ >

版本

最新稳定版本:v2.6.8 (2021-11-17)

安装说明

平台

  • 适用于 linux(主要开发平台)、darwin(macosx)

  • 应该在 bsd 上工作(未经测试)

  • 在 windows 或 cygwin 上不知道(未测试)

先决条件

execo 安装绝对需要python 2.6 / 2.7 或 >=3.2。execo_g5k需要python-requests。可选包是(debian 包名称,按重要性降序排列):

  • 在python 2.6下,execo_engine.engine.Engine需要 python-argparse

  • python-keyring允许在桌面环境密钥环中存储execo_g5k.api_utils api 密码(只允许询问一次)。

  • python-psycopg2用于优化 Grid5000 OAR 规划的接口。

  • sphinx-doc graphviz用于构建文档(普通用户通常不需要)。

  • python-matplotlib (>= 1.2.0) 用于一些图形表示。

  • python-networkx python-pygraphviz graphviz模块 execo_g5k.topology。networkx 的更高版本(至少 v1.11)也需要python-pydotplus,但此依赖项未在 debian 包中明确列出(截至 2017 年 7 月)。

在运行时,连接到远程主机需要sshscp或类似的连接工具,以及可选的 taktuk(可能 >= 3.6。http: //taktuk.gforge.inria.fr/)。execo.action.ChainPut需要远程主机上的bourne shell 和netcat 。

安装

要从源包 (.tar.gz) 或 git 树安装 execo:

$ python setup.py install [--user]

构建文档(如果 sphinx 可用):

$ python setup.py build_doc

安装文档(如果 sphinx 可用):

$ python setup.py install_doc

可以使用pipeasy_install自动安装 execo :

$ pip install --user execo

或者:

$ easy_install --user execo

可以生成一个 debian 包。例如,在 execo 包的顶层目录中,运行(.deb 将在 ../ 中生成):

$ dpkg-buildpackage -us -uc

用法

请参阅https://mimbert.gitlabpages.inria.fr/execo/上的模块 execo 和 execo_g5k 的 html 文档

错误

Execo 经常用于在 Grid5000 内外执行高级实验和管理/监控任务。我们积极修复错误。应向http://bugzilla.inria.fr报告错误 (产品:execo)

出版物

Matthieu Imbert、Laurent Pouilloux、Jonathan Rouzaud-Cornabas、Adrien Lèbre、Takahiro Hirofuchi “使用 EXECO 工具箱执行自动和可重复的云实验第一届国际研讨会上使用和构建云测试平台 UNICO,与 IEEE CloudCom 2013 并置2013

如何贡献

  • 通过发送干净的补丁或报告错误开始贡献。

  • 与编码和命名风格保持一致

  • 代码必须与 python 2.6、2.7 和 3.2+ 兼容(参见 https://mimbert.gitlabpages.inria.fr/execo/python2-python3.html

  • 使用提供的核心系统(例如配置系统、tty 着色系统、记录器等),而不是自己开发。

  • 提供文档化代码(内部文档以及需要的用户文档)

  • 在添加依赖项或处理线程、信号(特别是:创建线程)之前询问核心开发人员

  • 用空格缩进,而不是制表符。一级缩进是四个空格(如果需要:使用reindent.py -rnv .在 execo 顶级目录中)

  • 推荐的提交消息格式:

    [<module_name>] <category>:提交信息

    • <module_name> 可以是 execo、execo_g5k、execo_engine。如果提交不是特定于模块的,则省略。

    • <category> 是自由格式,但应指明提交影响模块的哪些部分。如果提交不是特定于模块部分,则省略。

下载文件

下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。

源分布

execo-2.6.8.tar.gz (392.1 kB 查看哈希

已上传 source