什么是粘贴脚本?
我正在尝试理解什么是paste脚本和paster。这个网站的说明不太清楚。
我用paster生成了项目的预设布局,但我还是不太明白整体的概念。
根据我的理解,以及维基百科上的介绍,它说这是一个为网络框架服务的框架,但这似乎太简单了。paster create
似乎可以为启用了setuptools/distutils的包创建预设布局。
它试图解决什么问题(或者说一系列问题)呢?
2 个回答
4
PasteScript(还有它的搭档PasteDeploy)是用来运行Python代码的工具,它们通过“入口点”来工作。简单来说,一个Python库可以在它的元数据中说明它知道怎么创建某种类型的Python项目,或者对这些项目执行特定的操作。paster是一个命令行工具,它会查找你请求的操作所需的相应代码。这是一个非常通用的问题;如果你对Ruby有一点了解,类似的工具可能就是'rake'。
特别地,PasteDeploy是一种配置格式,用于通过paster来服务Python网页应用。PasteScript和PasteDeploy在Pylons网页框架中都非常重要。
14
Paste 有几个组成部分:
- Paste Core:这是一些模块,帮助你创建 WSGI 网络应用或框架(模块索引)。里面包括请求和响应对象等东西。网站上说:“未来这些部分会分成独立的包,并重新整理内部的 Paste 依赖关系,改为依赖 WebOb”。如果你打算使用 Paste Core 的组件,我建议你看看它的衍生项目,比如 WebOb。
- Paste Deploy:这是一个用于加载和配置 WSGI 应用和服务器的系统(模块索引)。简单来说,它就是一些工具,用来读取配置文件,并根据文件中的说明创建 WSGI 应用。
- Paste Script:这是一个定义命令的框架。它自带一些命令,比如
paster serve
(加载并提供在 Paste Deploy 配置文件中定义的 WSGI 应用)和paster create
(创建包等的目录结构)。我找到的关于 Paste Script 最好的入门资料是 http://pythonpaste.org/script/developer.html。
这是 paster serve
命令的源代码: serve.py。
还有 paster create
的源代码: create_distro.py。