php中文网

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

php中文网

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

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

回答:

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

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

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

FROM python:3.10-buster
RUN (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 /code
WORKDIR /code

COPY 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/

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

以上就是如何避免每次进入 Python 容器都需要手动激活虚拟环境?的详细内容,更多请关注php中文网其它相关文章!