1

我是 Stack Overflow 的新手,如果问题的结构需要改进,我深表歉意。

我第一次尝试在我的 Mac 上的 cookiecutter-bonobo 中创建一个新项目(最近安装了 anaconda3 来替换 anaconda2,所以我使用的是 python3)。我正在遵循这些说明https://www.bonobo-project.org/with/cookiecutter。到目前为止,我已经使用 pip 成功安装了 cookiecutter 和 bonobo:

pip install bonobo cookiecutter

但是在命令行中执行以下步骤时会出错:

bonobo init example-jobs

错误读取

CRIT:0001:root: Uncaught exception (in thread 140735648375616).
│ Traceback (most recent call last):
│   File "/Users/maxpaton/anaconda3/bin/bonobo", line 11, in <module>
│     sys.exit(entrypoint())
│   File "/Users/maxpaton/anaconda3/lib/python3.6/site-packages/bonobo/commands/__init__.py", line 59, in entrypoint
│     command(**parsed_args)
│   File "/Users/maxpaton/anaconda3/lib/python3.6/site-packages/bonobo/commands/init.py", line 74, in handle
│     self.create_file_from_template(template=template, filename=filename)
│   File "/Users/maxpaton/anaconda3/lib/python3.6/site-packages/bonobo/commands/init.py", line 24, in create_file_from_template
│     raise ValueError('Filenames should end with ".py".')
└ ValueError  Filenames should end with ".py".

所需的结果是它创建一个目录,其中包含某些有用的文件。我在https://github.com/python-bonobo/bonobo/issues/235发现了一个非常相似的问题,但建议的解决方案对我不起作用。

谢谢。

4

1 回答 1

1

Cookiecutter 模板已被弃用,不再需要。

现在有两种方法可以引导 ETL 作业:

  • 要么你只想要一个文件,你就可以运行bonobo init my-etl-job.py(注意扩展名)。
  • 要么你想要一个 python 包,你可以安装medikit( pip install medikit),然后运行bonobo init --package my_etl_pkg​​.

我刚刚在https://www.bonobo-project.org/how-to/bootstrap更新了这方面的文档,以描述实际的操作方式,这应该比以前简单得多。

希望有帮助!

于 2018-06-12T11:47:47.403 回答