Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/314.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 自动创建粘贴程序-t plone3_构建_Python_Automation_Plone_Buildout - Fatal编程技术网

Python 自动创建粘贴程序-t plone3_构建

Python 自动创建粘贴程序-t plone3_构建,python,automation,plone,buildout,Python,Automation,Plone,Buildout,我想自动化plone3_构建的过程 说明: 构建plone站点的默认(我使用的)方法是使用粘贴器,如下所示: paster create -t plone3_buildout 这会问我几个问题,然后为站点创建一个默认的buildout 我想要的是: 我想使用buildout自动化此过程。我的buildout将执行此paster命令,将预先配置的值输入到粘贴器 我还没有找到能做到这一点的食谱。如果有人知道如何做到这一点,请分享信息 如果有一个配方可以将值提供给交互式命令(具有已知的输出,如plo

我想自动化plone3_构建的过程

说明: 构建plone站点的默认(我使用的)方法是使用粘贴器,如下所示:

paster create -t plone3_buildout
这会问我几个问题,然后为站点创建一个默认的
buildout

我想要的是: 我想使用
buildout
自动化此过程。我的
buildout
将执行此
paster
命令,将预先配置的值输入到粘贴器

我还没有找到能做到这一点的食谱。如果有人知道如何做到这一点,请分享信息

如果有一个配方可以将值提供给交互式命令(具有已知的输出,如plone3_buildout命令),那么这也会很有用。

有一个名为“expect”的实用程序,用于自动执行交互式命令行操作

另一种方法是修改、克隆和定制ZopeSkel包中的plone3_构建脚本和模板


但是,在这一点上,如果您硬编码所有变量,您最好创建一次构建,放入版本控制,然后复制/克隆它以创建新实例。

粘贴创建命令可以接受一个
--config
选项。这允许您生成或使用包含问题答案的文件

$ paster create -t plone3_buildout --config=saved.cfg my-buildout
...
answer questions
...
现在,当前目录中将有一个
buildout.config
文件

$ cat saved.cfg
[pastescript]
eggifiedplone__eval__ = True
zope_user = admin
expert_mode = all
zope2_install = 
plone_products_install = 
tarballs__eval__ = False
egg_plugins__eval__ = []
plone_version = 3.3.4
debug_mode = off
plus = +
dot = .
zope_password = 
http_port__eval__ = 8080
egg = test_buildout
z29tarballs__eval__ = False
eggifiedzope__eval__ = False
verbose_security = off
您可以修改此文件并使用相同的命令运行paster

$ paster create -t plone3_buildout --config=saved.cfg my-new-buildout

这次它不会问你任何问题。所有答案都来自配置文件。最新的ZopeSkel(2.15+)还可以将这些设置存储在
$HOME/.ZopeSkel

ya中,这是一种方法。我用的是pexpect。然后我想写一个构建配方来自动化这个过程。这是目前正在进行的工作。感谢您提供此解决方案。我在一个塔架项目中试用过,效果很好,我很快就会在plone项目中试用。我仍然想从项目创建的这一步中找出一个诀窍。