Run python 3 outside of a virtualenv for OpenAI gym image rendering to work
parent
05ffb99e10
commit
2ae7ea61d0
60
Dockerfile
60
Dockerfile
|
@ -1,20 +1,60 @@
|
||||||
FROM andrewosh/binder-base
|
FROM andrewosh/binder-base
|
||||||
|
|
||||||
USER root
|
USER root
|
||||||
RUN apt-get update
|
|
||||||
RUN apt-get install -y python-numpy python-dev cmake zlib1g-dev libjpeg-dev xvfb libav-tools xorg-dev python-opengl libboost-all-dev libsdl2-dev swig
|
# Extra packages needs for OpenAI gym
|
||||||
|
RUN apt-get update -y &&\
|
||||||
|
apt-get install --fix-missing -y \
|
||||||
|
cmake\
|
||||||
|
libav-tools\
|
||||||
|
libboost-all-dev\
|
||||||
|
libjpeg-dev\
|
||||||
|
libsdl2-dev\
|
||||||
|
python-dev\
|
||||||
|
python-numpy\
|
||||||
|
python-opengl\
|
||||||
|
python-pip\
|
||||||
|
python3-dev\
|
||||||
|
python3-numpy\
|
||||||
|
python3-opengl\
|
||||||
|
python3-pip\
|
||||||
|
swig\
|
||||||
|
xorg-dev\
|
||||||
|
xvfb\
|
||||||
|
zlib1g-dev &&\
|
||||||
|
apt-get clean &&\
|
||||||
|
rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*tmp
|
||||||
|
|
||||||
USER main
|
USER main
|
||||||
|
|
||||||
# Python 2
|
# Add nbextensions to Jupyter and activate the Table of Contents
|
||||||
RUN conda install -c jjhelmus tensorflow=0.10.0
|
|
||||||
RUN conda install -c conda-forge jupyter_contrib_nbextensions
|
RUN conda install -c conda-forge jupyter_contrib_nbextensions
|
||||||
RUN jupyter contrib nbextension install --user
|
RUN jupyter contrib nbextension install --user
|
||||||
RUN jupyter nbextension enable toc2/main
|
RUN jupyter nbextension enable toc2/main
|
||||||
RUN pip install --upgrade gym
|
|
||||||
RUN pip install --upgrade 'gym[atari]'
|
|
||||||
|
|
||||||
# Python 3
|
# Use upgraded pip
|
||||||
RUN conda install -n python3 -c jjhelmus tensorflow=0.10.0
|
RUN pip install --upgrade --user pip wheel
|
||||||
RUN /bin/bash -c "source activate python3 && pip install --upgrade gym"
|
RUN pip3 install --upgrade --user pip wheel
|
||||||
RUN /bin/bash -c "source activate python3 && pip install --upgrade 'gym[atari]'"
|
ENV PATH /home/main/.local/bin:$PATH
|
||||||
|
|
||||||
|
# Install scientific packages
|
||||||
|
RUN pip install --upgrade --user matplotlib numexpr numpy pandas Pillow protobuf psutil scipy scikit-learn sympy
|
||||||
|
RUN pip3 install --upgrade --user matplotlib numexpr numpy pandas Pillow protobuf psutil scipy scikit-learn sympy
|
||||||
|
|
||||||
|
# Install TensorFlow
|
||||||
|
RUN pip install --upgrade --user https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-0.11.0rc0-cp27-none-linux_x86_64.whl
|
||||||
|
RUN pip3 install --upgrade --user https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-0.11.0rc0-cp34-cp34m-linux_x86_64.whl
|
||||||
|
|
||||||
|
# Install OpenAI gym
|
||||||
|
RUN pip install --upgrade --user gym
|
||||||
|
RUN pip3 install --upgrade --user gym
|
||||||
|
RUN pip install --upgrade --user "gym[atari]"
|
||||||
|
RUN pip3 install --upgrade --user "gym[atari]"
|
||||||
|
|
||||||
|
# Replace the default script to start Jupyter with xvfb-run so that OpenAI gym
|
||||||
|
# can render some of the environments (eg. CartPole-v0) without crashing when
|
||||||
|
# it tries to access the display on a headless server.
|
||||||
|
ADD start-notebook.sh /home/main/
|
||||||
|
|
||||||
|
RUN ipython2 kernel install --user
|
||||||
|
RUN ipython3 kernel install --user
|
||||||
|
|
Loading…
Reference in New Issue