【发布时间】:2021-04-24 06:29:24
【问题描述】:
我正在尝试在运行 Ubuntu 的 docker 容器中使用 pip 安装 Python 3.6 或更高版本。我尝试了很多事情都没有成功
FROM ubuntu:18.04
RUN apt update
RUN apt install software-properties-common -y
RUN add-apt-repository ppa:deadsnakes/ppa
RUN ln -s /usr/bin/pip3 /usr/bin/pip
RUN ln -s /usr/bin/python3.8 /usr/bin/python
RUN apt install python3.8 -y
RUN apt install pip
RUN pip install auto-sklearn
RUN pip install pandas
ADD test.py /
CMD [ "python", "./test.py" ]
这将返回“无法找到包 pip”。我尝试删除“apt install pip”以防 Python 3.8 附带它,但它给了我错误:“pip: not found.”
FROM ubuntu:18.04
RUN apt install software-properties-common -y
RUN add-apt-repository ppa:deadsnakes/ppa
RUN apt-get update
RUN install python3-pip
RUN pip install auto-sklearn
RUN pip install pandas
ADD test.py /
CMD [ "python", "./test.py" ]
这会安装 pip,但 auto-sklearn 需要 Python 3.6 或更高版本,而这会安装更低版本。 Auto-sklearn 也需要 Linux,这就是我使用“FROM ubuntu”而不是“FROM python”的原因,因为“FROM python”似乎在构建容器的计算机上运行的任何本机操作系统上构建容器,这对我来说是窗户。
【问题讨论】:
-
确保始终使用正确的二进制文件,例如
python3.8和pip3.8或python3,8 -m pip。您也可以考虑使用更新的 Ubuntu 版本或python基础映像。 -
@KlausD。我的二进制文件看起来不错,不是吗?我还尝试了“Ubuntu:latest”并得到了相同的错误,正如我在问题中提到的那样,我认为 python 基础映像使用我的计算机正在运行的相同操作系统启动,因为我得到了 auto-sklearn 错误,该错误是在非安装时独有的Linux 系统
-
不,您多次使用了简单的
pip和python,没有版本号。 -
@KlausD。好吧,当您说“二进制文件”时,您到底指的是什么?
-
@KlausD。我说错了,我想我没有尝试使用“ubuntu:latest”的顶级命令,因为这似乎有效。如果你想发布你的答案并允许我编辑它并添加我使用的完整 Dockerfile,我会给你投票和回答投票。
标签: python docker ubuntu pip window