Skip to content

Add new beta image using pyenv for all Python versions #18

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Feb 4, 2017
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
89 changes: 89 additions & 0 deletions beta/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,89 @@
# Read the Docs - Environment base
FROM ubuntu:16.04
MAINTAINER Read the Docs <[email protected]>

ENV DEBIAN_FRONTEND noninteractive
ENV APPDIR /app
ENV LANG C.UTF-8

# System dependencies
RUN apt-get -y update
RUN apt-get -y install vim software-properties-common

# Install requirements
RUN apt-get -y install \
bzr subversion git-core mercurial libpq-dev libxml2-dev libxslt-dev \
libxslt1-dev build-essential postgresql-client libmysqlclient-dev curl \
doxygen g++ graphviz-dev libfreetype6 libbz2-dev libcairo2-dev \
libenchant1c2a libevent-dev libffi-dev libfreetype6-dev \
libgraphviz-dev libjpeg-dev libjpeg8-dev liblcms2-dev libreadline-dev \
libsqlite3-dev libtiff5-dev libwebp-dev pandoc pkg-config zlib1g-dev

# LaTeX -- split to reduce image layer size
RUN apt-get -y install texlive-fonts-extra
RUN apt-get -y install texlive-latex-extra-doc texlive-publishers-doc \
texlive-pictures-doc
RUN apt-get -y install texlive-lang-english texlive-lang-japanese
RUN apt-get -y install texlive-full
RUN apt-get -y install \
texlive-fonts-recommended latex-cjk-chinese-arphic-bkai00mp \
latex-cjk-chinese-arphic-gbsn00lp latex-cjk-chinese-arphic-gkai00mp

# Install Python tools/libs
RUN apt-get -y install python-pip && pip install -U virtualenv auxlib

# Install Conda
RUN curl -O https://repo.continuum.io/miniconda/Miniconda2-latest-Linux-x86_64.sh && \
bash Miniconda2-latest-Linux-x86_64.sh -b -p /usr/local/miniconda/ && \
ln -s /usr/local/miniconda/bin/conda /usr/local/bin/conda

# UID and GID from readthedocs/user
RUN groupadd --gid 205 docs
RUN useradd -m --uid 1005 --gid 205 docs

USER docs

# Install pyenv
RUN git clone --depth 1 https://github.com/yyuu/pyenv.git ~docs/.pyenv
ENV PYENV_ROOT /home/docs/.pyenv
ENV PATH /home/docs/.pyenv/shims:$PATH:/home/docs/.pyenv/bin

# Install supported Python versions
RUN pyenv install 2.7.13 && \
pyenv install 3.6.0 && \
pyenv install 3.5.2 && \
pyenv install 3.4.5 && \
pyenv install 3.3.6 && \
pyenv global 2.7.13 3.6.0 3.5.2 3.4.5 3.3.6

WORKDIR /tmp

RUN pyenv local 2.7.13 && \
pyenv exec pip install -U pip && \
pyenv exec pip install --only-binary numpy,scipy numpy scipy && \
pyenv exec pip install pandas matplotlib virtualenv

RUN pyenv local 3.6.0 && \
pyenv exec pip install -U pip && \
pyenv exec pip install --only-binary numpy,scipy numpy scipy && \
pyenv exec pip install pandas matplotlib virtualenv

RUN pyenv local 3.5.2 && \
pyenv exec pip install -U pip && \
pyenv exec pip install --only-binary numpy,scipy numpy scipy && \
pyenv exec pip install pandas matplotlib virtualenv

RUN pyenv local 3.4.5 && \
pyenv exec pip install -U pip && \
pyenv exec pip install --only-binary numpy,scipy numpy scipy && \
pyenv exec pip install pandas matplotlib virtualenv

RUN pyenv local 3.3.6 && \
pyenv exec pip install -U pip && \
pyenv exec pip install --only-binary numpy,scipy numpy scipy && \
pyenv exec pip install "pandas<0.18" "matplotlib<1.5" virtualenv && \
pyenv local --unset

WORKDIR /

CMD ["/bin/bash"]