使用Pipenv

时间:2018-08-04 20:53:36

标签: python docker pipenv

我正在尝试使用Docker为pipenv项目设置构建/部署基础结构。现在,我只是将所有内容复制到容器中并运行pipenv install [flags];但是,这确实很慢(例如10分钟),并且Docker的缓存机制不支持Python,因此每次任何源代码更改时,它都会重新运行pipenv install(Docker在COPY指令后重新运行所有内容)。 / p>

一个明显的解决方法是创建一个仅包含依赖项的单独的基础映像-只需将其复制到pipfile和pipfile.lock中,如果这些文件中的任何一个已更改,我们都可以重新构建该映像;但是,这是失败的,因为我们的pipfile还引用了同一存储库中的兄弟目录(存储库包含二进制项目以及二进制文件所依赖的库项目)。

直觉上,我想让某种方式要求Pipenv安装所有依赖项 那些本地库目录,但是我在Pipenv文档中没有看到任何这样的选项。

有人遇到过这个吗?什么是最佳做法?

编辑:Dockerfile示例:

FROM python:3.6.5
WORKDIR /app
COPY . . # Copy everything to /app; this breaks the cache every build
RUN pipenv install --system --deploy --ignore-pipfile

0 个答案:

没有答案