我刚开始学习Docker,我的问题是是否必须在Docker中使用venv,还是它并不重要?因为我无法在Docker中配置venv,它会给我一个错误,例如无法导入Django激活venv...,我阅读了一些答案但无法获得答案,有人说需要使用venv,而其他人则说并不重要。
我的Dockerfile
FROM python:3.8
#set environment variables
ENV PYTHONDONTWRITEBYTECODE 1
ENV PYTHONUNBUFFERED 1
RUN python3 -m venv venv
#Set work directory
WORKDIR /code/
#Install dependencies
COPY requirements.txt .
RUN . /venv/bin/activate && pip install -r requirements.txt
COPY . /code/
如果我不使用虚拟环境venv,Docker可以正常运行,但是当安装软件包时,会给出警告,例如“
WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead:...
”。有人能清楚地解释一下这是什么意思吗?感谢您的帮助。
--user
标志来安装用户主目录中的内容,但正如@IainShelvington已经说过的那样,这是完全不必要的。无论如何,问题都是重复的:https://dev59.com/_lEG5IYBdhLWcg3wSZIS - w8eight