我在我的项目中使用了诗歌,现在我正在开发一个允许在Docker容器中运行应用的功能。现在,我的Docker文件看起来像这样:
COPY pyproject.toml /
...
RUN poetry install
最后一个命令花费了大约4分钟,这是相当长的时间,所以我想缓存这个依赖项。我试图将我的pyproject.toml转换为requirements.txt,这样我就可以将其馈送到Docker,如果文件自上次运行以来没有更改,它会缓存它。
现在我在尝试:
poetry export -f requirements.txt --output requirements.txt
而且它只写了[tool.poetry.dependencies]部分的依赖项,但问题是我有其他部分,并希望看到我的requirements.txt文件中的依赖项。我应该如何修改上面的命令,以便它也能从其他部分获取依赖项。
也许你可能知道其他方法如何缓存诗歌安装在码头,我真的很感激!
1条答案
按热度按时间kkih6yb81#
我认为您可以执行两步依赖项安装,并将依赖项设置为缓存,如此处的示例-https://pythonspeed.com/articles/poetry-vs-docker-caching/,无需迁移到requirements.txt。其思路是仅复制toml,安装依赖项(这样依赖项将被缓存,并且只有当toml改变时才需要更新),然后复制源文件(比toml更频繁地更改)并重新安装。更详细的说明请参见上面的链接(https://pythonspeed.com/articles/poetry-vs-docker-caching/)