帮助您管理Python发行版
项目描述
简介
disthelper是一个命令行工具,帮助您管理Python发行版。您可能想创建Python脚本来自动化您项目的常见维护任务。但您把它们放在哪里呢?标准setup.py框架怎么样?您可以将setup.py视为Python的“make”工具,尽管它更像是Ian Bicking描述的那样,而不是一个实际的make工具,它有目标和依赖关系。例如,如果您编写了一个构建项目文档的脚本来上传它们,您可以从您的setup.py文件中运行这些命令
python setup.py build_docs upload_docs
它做什么
disthelper只是自动化了distutils的使用,这样您就不用担心如何创建自定义setup.py命令。它设置模块/子模块结构,编辑您的setup.cfg,并根据您的请求添加新的命令模块。disthelper不会做您手动无法做到的事情。
安装
您可以使用easy_install安装它
easy_install disthelper
或获取源代码
创建命令
disthelper实现为一个Paste扩展。假设您想创建我提到的这个build_docs命令。切换到您的项目目录并输入
$ paster distcmd build_docs | Selected and implied templates: | disthelper#distcmd A disthelper-based package for setup.py commands | | ** creating ./setup.py (you'll probably need to edit this) | Variables: | command: build_docs | distcmds_mod: distcmds | package: foo | Creating template distcmd | Recursing into +package+ | Creating ./foo/ | Recursing into +distcmds_mod+ | Creating ./foo/distcmds/ | Copying +command+.py_tmpl to ./foo/distcmds/build_docs.py | Copying __init__.py to ./foo/distcmds/__init__.py | Copying __init__.py to ./foo/__init__.py | patching ./setup.cfg ... | | ./foo/distcmds/build_docs.py | ...is ready to edit | run as: | python setup.py build_docs |
如果您还没有Python包,它会提示您输入其名称。假设您将其命名为foo,您应该看到以下布局
$ tree | . | |-- foo | | |-- __init__.py | | `-- distcmds | | |-- __init__.py | | `-- build_docs.py | |-- setup.cfg | `-- setup.py | | 2 directories, 5 files
您的命令已准备好运行
$ python setup.py build_docs --help | Global options: | --verbose (-v) run verbosely (default) | --quiet (-q) run quietly (turns verbosity off) | --dry-run (-n) don't actually do anything | --help (-h) show detailed help message | | Options for 'build_docs' command: | --long-option (-l) <help> | --other-long-option (-o) <help> | | usage: setup.py [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] ...] | or: setup.py --help [cmd1 cmd2 ...] | or: setup.py --help-commands | or: setup.py cmd --help |
然而,它还没有做任何有用的事情,所以开始吧!
我的命令消失了,我该怎么办?
不幸的是,distutils会完全忽略你命令中的任何ImportError,所以有一天你的命令可能会突然消失。为了检查你的命令是否设置正确,请运行
$ paster distcmd build_docs --check | Selected and implied templates: | disthelper#distcmd A disthelper-based package for setup.py commands | | Variables: | command: build_docs | distcmds_mod: distcmds | package: foo | attempting to import foo.distcmds.build_docs | OK | checking vars in ./setup.cfg | | build_docs OK
其他类似工具
disthelper并不适用于复杂的构建、依赖管理等,它只是帮助你创建维护脚本。你可能想了解一下…
-
Vellum是一个像make一样的简单构建工具,但它是用Python编写的,使用简单且灵活的基于YAML的格式。
-
软件构建工具
-
开发构建管理系统
变更日志
0.9.2
修复了生成setup.py文件中的另一个错误
增加了对功能测试的shelldoc支持(README示例)
0.9.1
修复了当setup.py文件不存在时对setup.py文件的处理
0.9
第一个版本,基本的paster命令正常工作
项目详情
disthelper-0.9.2.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 8a14230c2925d7025bca990195bdabdd34cfacba1630265a2728339bb29c64bd |
|
MD5 | ef3d219a1804e6675fd54e6d27ac4f06 |
|
BLAKE2b-256 | 2e51b9b13f2281979f497fe0da01cb7443f13de89a7a0318f13ab9bdf5aaaac8 |