手稿帮助您管理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如何替换模式。使用字符串完成所有操作。替换所有函数?   应用服务器类路径Linux中的Java库   java如何插入长度超过30个字符的ID3标记?   java如何在空的autocomple字段中返回arrayList的整值   java换行符忽略正则表达式以在清单文件中查找包名   setOnClickListener上的java nullpointerexception   java一些HTTP请求不会出现在Fiddler中   java如何找到数组中特定数字的位置?   无法映射java Hibernate批注日期   java中超类和子类之间的构造函数   java Spring数据JPA实体名称无效标识符   java如何在不使用集合的情况下随机化ArrayList。交换()?   mysql无法在Java中创建SQL语句   java如何使用Gson从json中提取最新时间戳的值?   JavaFXJava向毫秒时间戳添加毫秒忽略周末和假日   简单介绍java游戏编程   java按行拆分字符串\n不起作用   java如何将OnClickListener设置为可扩展的RecycleView