手稿帮助您管理python脚本及其依赖项
manuscript的Python项目详细描述
手稿帮助您管理python脚本及其依赖关系
python仍然是一种脚本语言,它对于 这个。此外,我们现在有一些伟大的图书馆,使写作 脚本甚至更简单,比如请求、docopt或pathlib。然而,拥有 在系统范围内安装它们,或者开始担心 只有一个剧本很烦人。手稿是来帮你处理的。
只需在脚本中添加一行#deps: requests docopt pathlib形式的代码, 手稿会把它们装进一个虚拟机里,然后给你做一个包装。
安装
你可以用通常的pip install manuscript在pypi上得到它。
你也可以用手稿安装手稿!为此,请使用此行“获取手稿及其依赖项”,并使用手稿自行安装:
cd /tmp && wget https://bitbucket.org/pitrou/pathlib/raw/e39c980b59a9705fe60f24e36cb202771af88256/pathlib.py https://raw.github.com/docopt/docopt/0.6.1/docopt.py https://raw.github.com/madjar/manuscript/master/manuscript.py && python3 manuscript.py install -c manuscript.py
完成后,我建议您将~/.manuscript/bin/添加到路径中,以便更容易访问已安装的脚本。
手稿需要python 3。
用法
您刚刚编写了使用requests和docopt的some_awesome_script.py,并且希望在系统上使用它,而不必担心依赖关系。只需在脚本中的某个位置添加这一行即可:
#deps requests docopt
然后运行手稿:
manuscript install some_awesome_script.py
这将在virtualenv中安装所有依赖项,并在脚本周围创建一个包装器~/.manuscript/bin/some_awesome_script。
virtualenv将使用脚本shebang中提到的解释器,如果找不到任何解释器,则返回到python。您可以使用-i选项强制一个解释器,如下所示:
manuscript install some_awesome_script.py -i pypy
如果不希望脚本与其他脚本共享默认的virtualenv,可以指定安装脚本依赖项的virtualenv名称(如果需要,将创建该名称):
manuscript install some_awesome_script.py -e awesome-venv
如果要重用由virtualenv包装器创建的env,可以将workon:NAME作为环境名称传递。手稿将使用WORKON_HOME环境变量来查找它。如果它不存在,手稿将不会创建它。
如果编辑脚本以添加更多依赖项,请运行:
manuscript check-deps
这将为所有脚本安装所有缺少的依赖项。
最后,如果您想在一个不持久的脚本上使用手稿(例如,从位于您的/tmp上的Internet下载的内容),只需添加-c参数:手稿将首先将脚本复制到一个安全的地方,然后执行整个舞蹈。
历史记录
0.2.0(201-01-08)
- 添加了一个选项来选择env的名称。如果以“workin:”开头,请使用virtualenv包装器env。
0.1.0(2013-11-11)
- pypi上的第一个版本。