PHP前端开发

如何避免每次进入 Python 容器都需要手动激活虚拟环境?

百变鹏仔 5天前 #Python
文章标签 容器

python 容器启动后无需手动激活虚拟环境

问题:在部署了 python 容器后,每次进入容器都还需要手动激活虚拟环境。是否存在方法可以在每次通过 docker exec 进入容器时自动激活?

回答:

使用容器本身的孤立环境,而不是虚拟环境。容器摆脱了虚拟环境的限制,可以更有效、更轻松地管理依赖项。

立即学习“Python免费学习笔记(深入)”;

构建 dockerfile 时,可以直接在容器内安装所需的 python 版本和依赖项:

FROM python:3.10-busterRUN (echo "deb http://mirrors.cloud.aliyuncs.com/debian/ buster main non-free contrib" > /etc/apt/sources.list) && (apt-get update) && (apt-get install -y wget mycli htop glances vim netcat telnet sysstat httpie libgl1-mesa-dev ffmpeg libsm6 libxext6 less)RUN mkdir /codeWORKDIR /codeCOPY requirements-dev.txt /code/RUN (/usr/local/bin/python -m pip install --upgrade pip -i http://mirrors.cloud.aliyuncs.com/pypi/simple/ --trusted-host mirrors.cloud.aliyuncs.com) && (pip install -i http://mirrors.cloud.aliyuncs.com/pypi/simple/ --trusted-host mirrors.cloud.aliyuncs.com -r requirements-dev.txt)COPY requirements-prd.txt /code/RUN (/usr/local/bin/python -m pip install --upgrade pip -i http://mirrors.cloud.aliyuncs.com/pypi/simple/ --trusted-host mirrors.cloud.aliyuncs.com) && (pip install -i http://mirrors.cloud.aliyuncs.com/pypi/simple/ --trusted-host mirrors.cloud.aliyuncs.com -r requirements-prd.txt)COPY . /code/

这样,每次进入容器时,就不需要再激活虚拟环境了。依赖项已在容器内安装,并且可以立即使用。