你能用诗歌来管理 CDK 项目吗?

rei*_*kje 7 python aws-cdk python-poetry

第一次尝试CDK。虽然可以使用诗歌作为函数依赖项,但我正在寻找一种使用诗歌来管理 CDK 项目本身的方法。

遵循本指南:https://docs.aws.amazon.com/cdk/v2/guide/work-with-cdk-python.html 设置项目的建议包含以下步骤:

cdk init app --language python
source .venv/bin/activate 
python -m pip install -r requirements.txt
Run Code Online (Sandbox Code Playgroud)

本质上,我希望能够poetry run cdk init app --language python代替,但cdk init需要一个空目录开始。

是否有最佳实践将 cdk 项目完全置于诗歌之下?否则,对项目使用 Typescript,对函数使用 Python 将是我的下一个最佳选择。

kic*_*hik 8

是的,可以做到。我为我开发的每个 Python CDK 项目都这样做。正如@gshpychka所说,您可以自己创建项目。您也可以让它cdk init做它的事情,然后将requirements.txt其删除并替换为pyproject.toml. 该README.md文件可能还需要更新。

这部分不是必需的,但我也喜欢更新cdk.json,所以 Poetry 会自动为我执行。代替:

{
  "app": "python app.py",
Run Code Online (Sandbox Code Playgroud)

和:

{
  "app": "poetry run python app.py",
Run Code Online (Sandbox Code Playgroud)

这样,每次您运行cdk synthcdk deploy任何其他命令时,它都会自动为您使用 Poetry。

最后,您可以使用projen通过 Poetry 为您生成整个内容。它非常固执己见,但确实包含许多有用的功能,例如计划的 GitHub Actions 自动更新依赖项、合并等。

npx projen new awscdk-app-py --poetry
Run Code Online (Sandbox Code Playgroud)