如何在Ubuntu docker镜像中安装Python2.7.5?

Kar*_*mar 4 python ubuntu python-2.7 docker

我有在 Ubuntu 中安装Python 2.7.5 的具体要求,我可以毫无问题地安装 2.7.18

下面是我的 dockerfile

ARG UBUNTU_VERSION=18.04
FROM ubuntu:$UBUNTU_VERSION

RUN apt-get update -y \
    && apt-get install -y python2.7.x \
    && rm -rf /var/lib/apt/lists/*

ENTRYPOINT ["python"]
Run Code Online (Sandbox Code Playgroud)

但是如果我将其设置为python2.7.5

ARG UBUNTU_VERSION=18.04
FROM ubuntu:$UBUNTU_VERSION

RUN apt-get update -y \
    && apt-get install -y python2.7.5 \
    && rm -rf /var/lib/apt/lists/*

ENTRYPOINT ["python"]
Run Code Online (Sandbox Code Playgroud)

它抛出以下错误

E:无法通过正则表达式“python2.7.5”找到任何包

我想安装Python 2.7.5以及相关的PIP,我该怎么办?

Eti*_*jon 9

该版本不再在规范镜像中可用。

它已于 2013 年发布。

因此, 从那时起,两者并肩工作就充满了挑战pythonpip

Centos7 上的 Python 2.7.5 + PIP

ubuntu如果没有要求,这可能是最简单的方法。

ARG CENTOS_VERSION=7
FROM centos:$CENTOS_VERSION

# Python 2.7.5 is installed with centos7 image
# Add repository for PIP
RUN yum install -y epel-release

# Install pip
RUN yum install -y python-pip

RUN python --version

ENTRYPOINT [ "python" ]
Run Code Online (Sandbox Code Playgroud)

ubuntu 上的 Python 2.7.5

我已经能够从源代码安装它

还没有安装成功pip

https://bootstrap.pypa.io/pip/2.7/get-pip.py

ARG UBUNTU_VERSION=18.04
FROM ubuntu:$UBUNTU_VERSION

ARG PYTHON_VERSION=2.7.5

# Install dependencies
# PIP - openssl version > 1.1 may be an issue (try older ubuntu images)
RUN apt-get update \
  && apt-get install -y wget gcc make openssl libffi-dev libgdbm-dev libsqlite3-dev libssl-dev zlib1g-dev \
  && apt-get clean

WORKDIR /tmp/

# Build Python from source
RUN wget https://www.python.org/ftp/python/$PYTHON_VERSION/Python-$PYTHON_VERSION.tgz \
  && tar --extract -f Python-$PYTHON_VERSION.tgz \
  && cd ./Python-$PYTHON_VERSION/ \
  && ./configure --enable-optimizations --prefix=/usr/local \
  && make && make install \
  && cd ../ \
  && rm -r ./Python-$PYTHON_VERSION*

RUN python --version

ENTRYPOINT [ "python" ]
Run Code Online (Sandbox Code Playgroud)

Python 2.7.6 + ubuntu 上的 pip

Ubuntu 14.04 仍然有镜像工作(多长时间???)。

Python 包非常接近您的期望。

您可以尝试使用该脚本来运行您的脚本。

ARG UBUNTU_VERSION=14.04
FROM ubuntu:$UBUNTU_VERSION

RUN apt-get update \
  && apt-get install -y python python-pip \
  && apt-get clean

RUN python --version

ENTRYPOINT [ "python" ]
Run Code Online (Sandbox Code Playgroud)

Python 2.7.5 + pip,无法运行,但可以在 ubuntu 上运行

这是我尝试过但没有成功的方法。

ARG UBUNTU_VERSION=16.04
FROM ubuntu:$UBUNTU_VERSION


# Install dependencies
RUN apt-get update \
  && apt-get install -y wget gcc make openssl libffi-dev libgdbm-dev libsqlite3-dev libssl-dev zlib1g-dev \
  && apt-get clean

WORKDIR /tmp/

# Build python from source
RUN wget https://www.python.org/ftp/python/$PYTHON_VERSION/Python-$PYTHON_VERSION.tgz \
  && tar --extract -f Python-$PYTHON_VERSION.tgz \
  && cd ./Python-$PYTHON_VERSION/ \
  && ./configure --enable-optimizations --prefix=/usr/local \
  && make && make install \
  && cd ../ \
  && rm -r ./Python-$PYTHON_VERSION*

# Build pip from source
RUN wget https://bootstrap.pypa.io/pip/2.7/get-pip.py \
    && python get-pip.py

RUN python --version

ENTRYPOINT [ "python" ]
Run Code Online (Sandbox Code Playgroud)

Python 2.7.9 与 pip - 按照评论中的要求

你可以使用这个dockerfile,构建python包括pip。

ARG UBUNTU_VERSION=16.04
FROM ubuntu:$UBUNTU_VERSION

ARG PYTHON_VERSION=2.7.9

# Install dependencies
RUN apt-get update \
  && apt-get install -y wget gcc make openssl libffi-dev libgdbm-dev libsqlite3-dev libssl-dev zlib1g-dev \
  && apt-get clean

WORKDIR /tmp/

# Build Python from source
RUN wget https://www.python.org/ftp/python/$PYTHON_VERSION/Python-$PYTHON_VERSION.tgz \
  && tar --extract -f Python-$PYTHON_VERSION.tgz \
  && cd ./Python-$PYTHON_VERSION/ \
  && ./configure --with-ensurepip=install --enable-optimizations --prefix=/usr/local \
  && make && make install \
  && cd ../ \
  && rm -r ./Python-$PYTHON_VERSION*

RUN python --version \
  && pip --version

ENTRYPOINT [ "python" ]
Run Code Online (Sandbox Code Playgroud)