如何在Requirements.txt中使用特定版本的依赖项构建Docker映像?

时间:2020-03-03 15:49:27

标签: python docker

我正在构建一个Docker映像以在Google云中运行深度学习模型。我正在使用tensorflow作为依赖项之一,并在requirements.txt中指定它。我没有弄清楚如何指定依赖版本,并且该图像是使用tensorflow 2.0构建的。

在测试模型的各种实现时,为旧版本的tensorflow编写代码时遇到了问题。最后,经过一些重构,我使它能够正常工作。

将特定版本的依赖项添加到requirements.txt的正确方法是什么?例如,我需要tensorflow 1.14

Dockerfile

FROM python:3.6
WORKDIR /app
COPY requirements.txt /app
RUN pip install -r ./requirements.txt
COPY app.py /app
CMD ["python", "app.py"]~

requirements.txt

keras
tensorflow
flask
gevent
pillow
requests

2 个答案:

答案 0 :(得分:2)

您可以在requirements.txt文件中指定版本。如

tensorflow==1.14

另请参阅:https://pip.readthedocs.io/en/1.1/requirements.html

答案 1 :(得分:1)

正如@Bastian所说,您可以使用tensorflow==1.14指定版本。

此外,您还可以使用以下命令在本地开发环境中创建该列表:

python3 -m pip freeze > requirements.txt

python3可能会有所不同。可以是pythonpypy3

将所有python模块锁定为一个版本是一个好主意。另外,还要确保在所有环境中都使用相同的Python版本。您可以使用python3 -V

检查使用的Python版本