将文件导入pyplates

2024-05-06 18:27:50 发布

您现在位置:Python中文网/ 问答频道 /正文

我正忙着用pyplates来创建AWS CloudFormation JSON模板。我对python编程相当陌生,遇到了一个不确定如何解决的问题。在

CF模板可以很快变得非常大,因此当我使用一个单一文件来存储所有资源时,也会发生同样的情况。我想将资源等拆分成单独的文件,使事情更加模块化。在

要生成JSON,必须通过cli运行以下命令:

cfpy_generate <pyplate> [<outfile>]

该文件是一个python文件,因此您(至少对我来说)应该能够在其中运行任何python代码,但是当我尝试导入这些文件时,我会遇到错误。在

例如:

平板电脑_子文件.py公司名称:

^{pr2}$

平板电脑_主.py公司名称:

import pyplates_subfile

ctf = CloudFormationTemplate(description='Test Template')

ctf.parameters.add( Parameter(
    'VPCID', 'String',
    {
    'Default': VPCID,   
    'Description': 'The default VPC to use',
    })  
)

ctf.resources.add( pyplates_subfile.subnet )

当我尝试生成该文件时,会得到以下结果:

$ cfn_py_generate pyplates_main.py 
Traceback (most recent call last):
  File "/Users/marcus/dev/virtenvs/cfn/bin/cfn_py_generate", line 9, in <module>
    load_entry_point('cfn-pyplates==0.3.0', 'console_scripts', 'cfn_py_generate')()
  File "/Users/marcus/dev/virtenvs/cfn/lib/python2.7/site-packages/cfn_pyplates/cli.py", line 120, in generate
    pyplate = _load_pyplate(args['<pyplate>'], options_mapping)
  File "/Users/marcus/dev/virtenvs/cfn/lib/python2.7/site-packages/cfn_pyplates/cli.py", line 40, in _load_pyplate
    exec pyplate in exec_namespace
  File "pyplates_main.py", line 1, in <module>
    import pyplates_subfile
ImportError: No module named pyplates_subfile

不过,我可以通过python控制台或可执行脚本导入。在

此外,我还查看了源代码,以确定是否有方法使用库创建自己的脚本来生成输出,但是我似乎找不到这样做的方法。在

感谢任何帮助。在


Tags: 文件inpydevclilineusersgenerate