【发布时间】:2018-07-11 17:35:11
【问题描述】:
我有一个 Dockerfile,我尝试在其中激活 python virtualenv,它应该在这个 env 中安装所有依赖项。但是,所有内容仍会在全局范围内安装。我使用了不同的方法,但没有一个有效。我也没有收到任何错误。哪里出了问题?
1。
ENV PATH $PATH:env/bin
2。
ENV PATH $PATH:env/bin/activate
3。
RUN . env/bin/activate
我也关注了an example of a Dockerfile config for the python-runtime image on Google Cloud,和上面的基本一样。
设置这些环境变量与运行 source /env/bin/activate 相同。
ENV VIRTUAL_ENV /env
ENV PATH /env/bin:$PATH
另外,ENV VIRTUAL_ENV /env 是什么意思,如何使用?
【问题讨论】:
-
source ../bin/activate试过了吗? -
您是否在同一个 Docker 容器中运行多个 python 应用程序?
-
在 Dockerfile 中使用 virtualenv 可能不是最佳实践,因为理想情况下,您只需使用每个容器一个应用程序进行全局安装。但是,我很高兴我遇到了这个问题,因为我有一个单元测试用例,它需要 Dockerfile 中的 virtualenv。这可能看起来很奇怪,但部分测试是针对 virtualenv 集成的。感谢您提出这个问题。
标签: python docker virtualenv dockerfile