如何使用pip从需求文件安装pkg,无需重新安装

我正在尝试构build一个Docker镜像。 我的Dockerfile是这样的:

FROM python:2.7 ADD . /code WORKDIR /code RUN pip install -r requirement.txt CMD ["python", "manage.py", "runserver", "0.0.0.0:8300"] 

和我的require.txt文件是这样的:

 wheel==0.29.0 numpy==1.11.3 django==1.10.5 django-cors-headers==2.0.2 gspread==0.6.2 oauth2client==4.0.0 

现在,我的代码有了一些变化,我需要pandas ,所以我把它添加到require.txt文件中

 wheel==0.29.0 numpy==1.11.3 pandas==0.19.2 django==1.10.5 django-cors-headers==2.0.2 gspread==0.6.2 oauth2client==4.0.0 

pip install -r requirement.txt将安装该文件中的所有软件包,尽pipe之前几乎已经安装了这些软件包。 我的问题是如何使pip只安装pandas ? 这将节省构build图像的时间。

谢谢

如果使用docker build -t <your_image> .更改requirements.txt后重build图像docker build -t <your_image> . ,我想不能这样做,因为每次docker运行docker build ,它都会从基本映像启动一个中间容器,这是一个新的环境,所以pip显然需要安装所有的依赖关系。

您可以考虑在python:2.7上构build自己的基本映像python:2.7预先安装了常用的依赖项,然后在您自己的基本映像上构build应用程序映像。 一旦需要添加更多的依赖关系,手动重新构build前一个基础镜像,只安装额外的依赖关系,然后可能selectdocker pushdocker push回到registry中。

希望这可能会有所帮助:-)