Skip to content

Add support for Python 3.10.0b3 and upgrade to Miniconda3-4.9.2 #174

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 14 commits into from
Jul 22, 2021
Merged
Show file tree
Hide file tree
Changes from 2 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
18 changes: 15 additions & 3 deletions Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -14,17 +14,21 @@ ENV PYTHON_VERSION_36 3.6.12
ENV PYTHON_VERSION_37 3.7.9
ENV PYTHON_VERSION_38 3.8.6
ENV PYTHON_VERSION_39 3.9.1
ENV PYTHON_VERSION_310 3.10.0b3
ENV PYPY_VERSION_35 pypy3.5-7.0.0
# Note: 4.7.12.1 drastically increases memory usage
ENV CONDA_VERSION 4.6.14
# Latest miniconda version is Miniconda3-py39_4.10.1, but it's not available for x86_64
ENV CONDA_PYTHON_VERSION py38
ENV CONDA_VERSION 4.9.2
LABEL python.version_27=$PYTHON_VERSION_27
LABEL python.version_35=$PYTHON_VERSION_35
LABEL python.version_36=$PYTHON_VERSION_36
LABEL python.version_37=$PYTHON_VERSION_37
LABEL python.version_38=$PYTHON_VERSION_38
LABEL python.version_39=$PYTHON_VERSION_39
LABEL python.version_310=$PYTHON_VERSION_310
LABEL pypy.version_35=$PYPY_VERSION_35
LABEL conda.version=$CONDA_VERSION
LABEL conda.python_version=$CONDA_PYTHON_VERSION

# System dependencies
RUN apt-get -y update
Expand Down Expand Up @@ -157,7 +161,7 @@ USER docs
WORKDIR /home/docs

# Install Conda
RUN curl -L -O https://repo.continuum.io/miniconda/Miniconda2-${CONDA_VERSION}-Linux-x86_64.sh
RUN curl -L -O https://repo.continuum.io/miniconda/Miniconda3-${CONDA_PYTHON_VERSION}_${CONDA_VERSION}-Linux-x86_64.sh
RUN bash Miniconda2-${CONDA_VERSION}-Linux-x86_64.sh -b -p /home/docs/.conda/
ENV PATH $PATH:/home/docs/.conda/bin
RUN rm -f Miniconda2-${CONDA_VERSION}-Linux-x86_64.sh
Expand All @@ -177,6 +181,7 @@ ENV PATH /home/docs/.pyenv/shims:$PATH:/home/docs/.pyenv/bin

# Install supported Python versions
RUN pyenv install $PYTHON_VERSION_27 && \
pyenv install $PYTHON_VERSION_310 && \
pyenv install $PYTHON_VERSION_39 && \
pyenv install $PYTHON_VERSION_38 && \
pyenv install $PYTHON_VERSION_37 && \
Expand All @@ -185,6 +190,7 @@ RUN pyenv install $PYTHON_VERSION_27 && \
pyenv install $PYPY_VERSION_35 && \
pyenv global \
$PYTHON_VERSION_27 \
$PYTHON_VERSION_310 \
$PYTHON_VERSION_39 \
$PYTHON_VERSION_38 \
$PYTHON_VERSION_37 \
Expand All @@ -202,6 +208,12 @@ RUN pyenv local $PYTHON_VERSION_27 && \

ENV RTD_PIP_VERSION 20.0.2
ENV RTD_SETUPTOOLS_VERSION 45.2.0
RUN pyenv local $PYTHON_VERSION_310 && \
pyenv exec pip install --no-cache-dir -U pip==$RTD_PIP_VERSION && \
pyenv exec pip install --no-cache-dir -U setuptools==$RTD_SETUPTOOLS_VERSION && \
pyenv exec pip install --no-cache-dir --only-binary numpy numpy && \
pyenv exec pip install --no-cache-dir pandas matplotlib virtualenv==$RTD_VIRTUALENV_VERSION

RUN pyenv local $PYTHON_VERSION_39 && \
pyenv exec pip install --no-cache-dir -U pip==$RTD_PIP_VERSION && \
pyenv exec pip install --no-cache-dir -U setuptools==$RTD_SETUPTOOLS_VERSION && \
Expand Down
6 changes: 5 additions & 1 deletion tests/test_versions.py
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,7 @@ def test_command_versions_image_master(command, expected_output):
('python3.7 --version', 'Python 3.7.9'),
('python3.8 --version', 'Python 3.8.6'),
('python3.9 --version', 'Python 3.9.1'),
('python3.10 --version', 'Python 3.10.0b3'),
('pypy3.5 --version', 'Python 3.5.3 (928a4f70d3de7d17449456946154c5da6e600162, Feb 09 2019, 11:50:43)\n[PyPy 7.0.0 with GCC 8.2.0]'),
# pip
('python2 -m pip --version', "pip 20.0.2 from /home/docs/.pyenv/versions/2.7.18/lib/python2.7/site-packages/pip (python 2.7)"),
Expand All @@ -65,24 +66,27 @@ def test_command_versions_image_master(command, expected_output):
('python3.7 -m pip --version', "pip 20.0.2 from /home/docs/.pyenv/versions/3.7.9/lib/python3.7/site-packages/pip (python 3.7)"),
('python3.8 -m pip --version', "pip 20.0.2 from /home/docs/.pyenv/versions/3.8.6/lib/python3.8/site-packages/pip (python 3.8)"),
('python3.9 -m pip --version', "pip 20.0.2 from /home/docs/.pyenv/versions/3.9.1/lib/python3.9/site-packages/pip (python 3.9)"),
('python3.10 -m pip --version', "pip 20.0.2 from /home/docs/.pyenv/versions/3.10.0b3/lib/python3.10/site-packages/pip (python 3.10)"),
# setuptools
('python2 -c "import setuptools; print(setuptools.__version__)"', "44.0.0"),
('python3.5 -c "import setuptools; print(setuptools.__version__)"', "45.2.0"),
('python3.6 -c "import setuptools; print(setuptools.__version__)"', "45.2.0"),
('python3.7 -c "import setuptools; print(setuptools.__version__)"', "45.2.0"),
('python3.8 -c "import setuptools; print(setuptools.__version__)"', "45.2.0"),
('python3.9 -c "import setuptools; print(setuptools.__version__)"', "45.2.0"),
('python3.10 -c "import setuptools; print(setuptools.__version__)"', "45.2.0"),
# virtualenv
('python2 -m virtualenv --version', 'virtualenv 20.0.7 from /home/docs/.pyenv/versions/2.7.18/lib/python2.7/site-packages/virtualenv/__init__.pyc'),
('python3.5 -m virtualenv --version', 'virtualenv 20.0.7 from /home/docs/.pyenv/versions/3.5.10/lib/python3.5/site-packages/virtualenv/__init__.py'),
('python3.6 -m virtualenv --version', 'virtualenv 20.0.7 from /home/docs/.pyenv/versions/3.6.12/lib/python3.6/site-packages/virtualenv/__init__.py'),
('python3.7 -m virtualenv --version', 'virtualenv 20.0.7 from /home/docs/.pyenv/versions/3.7.9/lib/python3.7/site-packages/virtualenv/__init__.py'),
('python3.8 -m virtualenv --version', 'virtualenv 20.0.7 from /home/docs/.pyenv/versions/3.8.6/lib/python3.8/site-packages/virtualenv/__init__.py'),
('python3.9 -m virtualenv --version', 'virtualenv 20.0.7 from /home/docs/.pyenv/versions/3.9.1/lib/python3.9/site-packages/virtualenv/__init__.py'),
('python3.10 -m virtualenv --version', 'virtualenv 20.0.7 from /home/docs/.pyenv/versions/3.10.0b3/lib/python3.10/site-packages/virtualenv/__init__.py'),
# others
('node --version', 'v8.10.0'),
('npm --version', '3.5.2'),
('conda --version', 'conda 4.6.14'),
('conda --version', 'conda 4.9.2'),
('cargo --version', 'cargo 1.46.0 (149022b1d 2020-07-17)'),
('git --version', 'git version 2.17.1'),
]
Expand Down