From e8e95594402b75ddd0efd478852c675f87497d57 Mon Sep 17 00:00:00 2001 From: damon Date: Fri, 18 Nov 2016 23:02:22 -0500 Subject: [PATCH 1/3] Python 3.5 --- Dockerfile | 95 +++++++++++++++++++++++++++++++++++------------------- 1 file changed, 62 insertions(+), 33 deletions(-) diff --git a/Dockerfile b/Dockerfile index 3d3c0c9..172ce60 100644 --- a/Dockerfile +++ b/Dockerfile @@ -3,48 +3,77 @@ FROM howgood/base -################################################ -# Copied from python:2.7 https://goo.gl/mz3Aww # -################################################ +############################################### +# Copied from python:3.5 https://git.io/vXFtu # +############################################### -RUN apt-get purge -y python.* - -# gpg: key 18ADD4FF: public key "Benjamin Peterson " imported -ENV GPG_KEY C01E1CAD5EA2C4F0B8E3571504C367C218ADD4FF +ENV PATH /usr/local/bin:$PATH ENV LANG C.UTF-8 -ENV PYTHON_VERSION 2.7.12 + +RUN apt-get update \ + && apt-get install -y --no-install-recommends \ + tcl \ + tk \ + && rm -rf /var/lib/apt/lists/* + +ENV GPG_KEY 97FC712E4C024BBEA48A61ED3A5CA953F73C700D +ENV PYTHON_VERSION 3.5.2 RUN set -ex \ - && curl -fSL "https://www.python.org/ftp/python/${PYTHON_VERSION%%[a-z]*}/Python-$PYTHON_VERSION.tar.xz" -o python.tar.xz \ - && curl -fSL "https://www.python.org/ftp/python/${PYTHON_VERSION%%[a-z]*}/Python-$PYTHON_VERSION.tar.xz.asc" -o python.tar.xz.asc \ - && export GNUPGHOME="$(mktemp -d)" \ - && gpg --keyserver ha.pool.sks-keyservers.net --recv-keys "$GPG_KEY" \ - && gpg --batch --verify python.tar.xz.asc python.tar.xz \ - && rm -r "$GNUPGHOME" python.tar.xz.asc \ - && mkdir -p /usr/src/python \ - && tar -xJC /usr/src/python --strip-components=1 -f python.tar.xz \ - && rm python.tar.xz \ - \ - && cd /usr/src/python \ - && ./configure --enable-shared --enable-unicode=ucs4 \ - && make -j$(nproc) \ - && make install \ - && ldconfig \ - && curl -fSL 'https://bootstrap.pypa.io/get-pip.py' | python2 \ - && pip install --no-cache-dir --upgrade --force-reinstall pip \ - && find /usr/local -depth \ - \( -type d -a -name test -o -name tests \) \ - -o \( -type f -a -name '*.pyc' -o -name '*.pyo' \) \ - -exec rm -rf '{}' + \ - && rm -rf /usr/src/python ~/.cache /tmp/* + && buildDeps=' \ + tcl-dev \ + tk-dev \ + ' \ + && apt-get update \ + && apt-get install -y $buildDeps --no-install-recommends \ + && rm -rf /var/lib/apt/lists/* \ + \ + && curl -fSL -o python.tar.xz "https://www.python.org/ftp/python/${PYTHON_VERSION%%[a-z]*}/Python-$PYTHON_VERSION.tar.xz" \ + && curl -fSL -o python.tar.xz.asc "https://www.python.org/ftp/python/${PYTHON_VERSION%%[a-z]*}/Python-$PYTHON_VERSION.tar.xz.asc" \ + && export GNUPGHOME="$(mktemp -d)" \ + && gpg --keyserver ha.pool.sks-keyservers.net --recv-keys "$GPG_KEY" \ + && gpg --batch --verify python.tar.xz.asc python.tar.xz \ + && rm -r "$GNUPGHOME" python.tar.xz.asc \ + && mkdir -p /usr/src/python \ + && tar -xJC /usr/src/python --strip-components=1 -f python.tar.xz \ + && rm python.tar.xz \ + \ + && cd /usr/src/python \ + && ./configure \ + --enable-shared \ + --enable-unicode=ucs4 \ + && make -j$(nproc) \ + && make install \ + && ldconfig \ + \ + && if [ ! -e /usr/local/bin/pip3 ]; then : \ + && curl -fSL -o /tmp/get-pip.py 'https://bootstrap.pypa.io/get-pip.py' \ + && python3 /tmp/get-pip.py \ + && rm /tmp/get-pip.py \ + ; fi \ + && pip3 install --no-cache-dir --upgrade --force-reinstall pip \ + && find /usr/local -depth \ + \( \ + \( -type d -a -name test -o -name tests \) \ + -o \ + \( -type f -a -name '*.pyc' -o -name '*.pyo' \) \ + \) -exec rm -rf '{}' + \ + && apt-get purge -y --auto-remove $buildDeps \ + && rm -rf /usr/src/python ~/.cache /tmp/* + +# make some useful symlinks that are expected to exist +RUN cd /usr/local/bin \ + && { [ -e easy_install ] || ln -s easy_install-* easy_install; } \ + && ln -s idle3 idle \ + && ln -s pydoc3 pydoc \ + && ln -s python3 python \ + && ln -s python3-config python-config ############ # End copy # ############ # Python env -ENV PYTHONDONTWRITEBYTECODE=1 \ - PYTHONUNBUFFERED=1 \ - C_FORCE_ROOT=1 \ +ENV C_FORCE_ROOT=1 \ XDG_CACHE_HOME=/tmp From 5031a039d101de9a899814fa32365c5877188c52 Mon Sep 17 00:00:00 2001 From: Damon Jablons Date: Tue, 21 Feb 2017 13:31:54 -0500 Subject: [PATCH 2/3] setup for python 3.6 --- Dockerfile | 54 ++++++++++++++++++++++++++---------------------------- 1 file changed, 26 insertions(+), 28 deletions(-) diff --git a/Dockerfile b/Dockerfile index 172ce60..14ce000 100644 --- a/Dockerfile +++ b/Dockerfile @@ -4,7 +4,7 @@ FROM howgood/base ############################################### -# Copied from python:3.5 https://git.io/vXFtu # +# Copied from python:3.6 https://git.io/vDARg # ############################################### ENV PATH /usr/local/bin:$PATH @@ -17,35 +17,33 @@ RUN apt-get update \ tk \ && rm -rf /var/lib/apt/lists/* -ENV GPG_KEY 97FC712E4C024BBEA48A61ED3A5CA953F73C700D -ENV PYTHON_VERSION 3.5.2 +ENV GPG_KEY 0D96DF4D4110E5C43FBFB17F2D347EA6AA65421D +ENV PYTHON_VERSION 3.6.0 RUN set -ex \ - && buildDeps=' \ - tcl-dev \ - tk-dev \ - ' \ - && apt-get update \ - && apt-get install -y $buildDeps --no-install-recommends \ - && rm -rf /var/lib/apt/lists/* \ - \ - && curl -fSL -o python.tar.xz "https://www.python.org/ftp/python/${PYTHON_VERSION%%[a-z]*}/Python-$PYTHON_VERSION.tar.xz" \ - && curl -fSL -o python.tar.xz.asc "https://www.python.org/ftp/python/${PYTHON_VERSION%%[a-z]*}/Python-$PYTHON_VERSION.tar.xz.asc" \ - && export GNUPGHOME="$(mktemp -d)" \ - && gpg --keyserver ha.pool.sks-keyservers.net --recv-keys "$GPG_KEY" \ - && gpg --batch --verify python.tar.xz.asc python.tar.xz \ - && rm -r "$GNUPGHOME" python.tar.xz.asc \ - && mkdir -p /usr/src/python \ - && tar -xJC /usr/src/python --strip-components=1 -f python.tar.xz \ - && rm python.tar.xz \ - \ - && cd /usr/src/python \ - && ./configure \ - --enable-shared \ - --enable-unicode=ucs4 \ - && make -j$(nproc) \ - && make install \ - && ldconfig \ + && buildDeps=' \ + tcl-dev \ + tk-dev \ + ' \ + && apt-get update && apt-get install -y $buildDeps --no-install-recommends && rm -rf /var/lib/apt/lists/* \ + \ + && wget -O python.tar.xz "https://www.python.org/ftp/python/${PYTHON_VERSION%%[a-z]*}/Python-$PYTHON_VERSION.tar.xz" \ + && wget -O python.tar.xz.asc "https://www.python.org/ftp/python/${PYTHON_VERSION%%[a-z]*}/Python-$PYTHON_VERSION.tar.xz.asc" \ + && export GNUPGHOME="$(mktemp -d)" \ + && gpg --keyserver ha.pool.sks-keyservers.net --recv-keys "$GPG_KEY" \ + && gpg --batch --verify python.tar.xz.asc python.tar.xz \ + && rm -r "$GNUPGHOME" python.tar.xz.asc \ + && mkdir -p /usr/src/python \ + && tar -xJC /usr/src/python --strip-components=1 -f python.tar.xz \ + && rm python.tar.xz \ + \ + && cd /usr/src/python \ + && ./configure \ + --enable-loadable-sqlite-extensions \ + --enable-shared \ + && make -j$(nproc) \ + && make install \ + && ldconfig \ \ && if [ ! -e /usr/local/bin/pip3 ]; then : \ && curl -fSL -o /tmp/get-pip.py 'https://bootstrap.pypa.io/get-pip.py' \ From 4e908b39823e6b5f2b3b1efe18d2d0e55ba93160 Mon Sep 17 00:00:00 2001 From: Damon Jablons Date: Tue, 21 Feb 2017 14:11:34 -0500 Subject: [PATCH 3/3] Install wget --- Dockerfile | 1 + 1 file changed, 1 insertion(+) diff --git a/Dockerfile b/Dockerfile index 14ce000..e9bbec8 100644 --- a/Dockerfile +++ b/Dockerfile @@ -15,6 +15,7 @@ RUN apt-get update \ && apt-get install -y --no-install-recommends \ tcl \ tk \ + wget \ && rm -rf /var/lib/apt/lists/* ENV GPG_KEY 0D96DF4D4110E5C43FBFB17F2D347EA6AA65421D