手稿帮助您管理python脚本及其依赖项

manuscript的Python项目详细描述


https://badge.fury.io/py/manuscript.pnghttps://pypip.in/d/manuscript/badge.png

手稿帮助您管理python脚本及其依赖关系

python仍然是一种脚本语言,它对于 这个。此外,我们现在有一些伟大的图书馆,使写作 脚本甚至更简单,比如请求、docopt或pathlib。然而,拥有 在系统范围内安装它们,或者开始担心 只有一个剧本很烦人。手稿是来帮你处理的。

只需在脚本中添加一行#deps: requests docopt pathlib形式的代码, 手稿会把它们装进一个虚拟机里,然后给你做一个包装。

安装

你可以用通常的pip install manuscriptpypi上得到它。

你也可以用手稿安装手稿!为此,请使用此行“获取手稿及其依赖项”,并使用手稿自行安装:

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。

用法

您刚刚编写了使用requestsdocoptsome_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参数:手稿将首先将脚本复制到一个安全的地方,然后执行整个舞蹈。

贡献

源代码在github上可用。

欢迎使用错误报告和拉取请求!

作者

此项目由Georges Dubus<;georges.dubus@gmail.com>;制作。 你可以在twitter上找到我:@georgesdubus

历史记录

0.2.0(201-01-08)

  • 添加了一个选项来选择env的名称。如果以“workin:”开头,请使用virtualenv包装器env。

0.1.0(2013-11-11)

  • pypi上的第一个版本。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java如何从servlet向所有登录用户发送数据   java为什么需要ScheduledExecutorService。shutdown()使用我100%的CPU吗?   用于计算ArrayList中重复项的java嵌套循环无法正常工作   如何获取使用audioinputstream java下载文件的进度   java Kurento复合网格记录   识别方法的java问题   java on Markerclick listener绘制路线并计算距离   java在API级别16上创建/生成R.id   java如何修复HQL查询中的“意外令牌”错误   Java创建损坏的ZIP文件   JavaGSON。如何将json对象转换为json数组?   java需要配置Spring安全性和Hibernate   Vowpal Wabbit的Java API?