2022-09-08 10:58:14 +01:00
|
|
|
# A Dockerfile that sets up a full Gymnasium install with test dependencies
|
2021-07-28 04:32:32 +01:00
|
|
|
ARG PYTHON_VERSION
|
2024-06-28 18:48:01 +02:00
|
|
|
ARG NUMPY_VERSION=">=1.21,<2.0"
|
2021-07-28 04:32:32 +01:00
|
|
|
FROM python:$PYTHON_VERSION
|
|
|
|
|
2022-07-06 23:49:28 +10:00
|
|
|
SHELL ["/bin/bash", "-o", "pipefail", "-c"]
|
2019-05-10 14:49:16 -07:00
|
|
|
|
2022-07-06 23:49:28 +10:00
|
|
|
RUN apt-get -y update \
|
|
|
|
&& apt-get install --no-install-recommends -y \
|
2023-06-08 15:01:38 +01:00
|
|
|
libglu1-mesa-dev libgl1-mesa-dev libosmesa6-dev \
|
|
|
|
xvfb unzip patchelf ffmpeg cmake swig \
|
2022-07-06 23:49:28 +10:00
|
|
|
&& apt-get autoremove -y \
|
|
|
|
&& apt-get clean \
|
2025-06-10 14:16:42 +01:00
|
|
|
&& rm -rf /var/lib/apt/lists/*
|
2019-05-10 14:49:16 -07:00
|
|
|
|
2024-10-24 17:02:25 +02:00
|
|
|
RUN pip install uv
|
|
|
|
|
2022-09-08 10:19:10 +01:00
|
|
|
COPY . /usr/local/gymnasium/
|
|
|
|
WORKDIR /usr/local/gymnasium/
|
2021-07-28 04:32:32 +01:00
|
|
|
|
2024-06-28 18:48:01 +02:00
|
|
|
# Specify the numpy version to cover both 1.x and 2.x
|
2024-10-24 17:02:25 +02:00
|
|
|
RUN uv pip install --system --upgrade "numpy$NUMPY_VERSION"
|
2024-06-28 18:48:01 +02:00
|
|
|
|
2023-05-16 10:32:30 +02:00
|
|
|
# Test with PyTorch CPU build, since CUDA is not available in CI anyway
|
2024-10-24 17:02:25 +02:00
|
|
|
RUN uv pip install --system .[all,testing] --no-cache-dir --extra-index-url https://download.pytorch.org/whl/cpu
|
2019-05-10 16:07:48 -07:00
|
|
|
|
2022-09-08 10:19:10 +01:00
|
|
|
ENTRYPOINT ["/usr/local/gymnasium/bin/docker_entrypoint"]
|