gpt4 book ai didi

python - 在 Docker 中安装和使用 pip 和 virtualenv

转载 作者:行者123 更新时间:2023-12-02 03:57:27 26 4
gpt4 key购买 nike

我想在 Docker 容器(即 Ubuntu)中安装 Python、Pip 和 virtualenv,我通过 Dockerfile 创建镜像:

FROM ubuntu:16.04

RUN apt-get update -y

RUN apt-get

RUN apt-get python3 -y

RUN apt-get install python3-pip -y

RUN pip install virtualenv
...

到这里的时候,出现了“/bin/sh: 1: pip: not found”,但是安装过程中并没有出现任何异常,这是不是说明我没有安装pip呢?或者在使用 pip 订单之前我应该​​做些什么吗?

然后我像这样更改了 Dockerfile:

...
RUN apt-get python3 -y

RUN apt-get install python3-pip -y

RUN apt-get install python3-virtualenv -y

RUN virtualenv --no-stie-packages -p /path/python3 py3env
...

但它仍然说/bin/sh: 1: virtualenv: not found, here is it

我也安装了git,git clone命令运行正确,可以使用。我哪里错了,或者我该怎么办?

最佳答案

在基于 Debian 的平台上,包括 Ubuntu,the command installed by python3-pip is called pip3为了使其能够与任何系统安装的 Python 2 及其 pip 和平共存。

类似地,virtualenv 命令不是由 python3-virtualenv 包安装的;为了得到这个,you need apt-get install -y virtualenv.

请注意,venv 包含在 Python 3 标准库中,因此您根本不需要安装任何东西。

python3 -m venv newenv

但是为什么你想要在 Docker 中使用 virtualenv 呢? (在情况下这是有意义的,但在绝大多数情况下,您希望 Docker 容器尽可能简单,这意味着,以 root 身份安装所有内容,并在出现问题时重建整个容器需要更新。)

顺便说一句,您通常希望最大限度地减少 RUN 语句的数量。在调试时创建许多层也许是有道理的,但不执行任何操作的层绝对是浪费。也许还会发现 apt-get 可以一次安装多个软件包。

RUN apt-get update -y && \
apt-get install -y python3 python3-pip && \
...

只要其中一个命令失败,&& 就会导致整个 RUN 序列失败。

关于python - 在 Docker 中安装和使用 pip 和 virtualenv,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49715923/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com