@@ -3,18 +3,41 @@ FROM theiaide/theia-full:next
33COPY requirements.txt /tmp
44
55RUN sudo apt-get update \
6- && sudo apt-get install -y software-properties-common \
7- && sudo add-apt-repository -y ppa:deadsnakes/ppa \
8- && sudo apt-get update \
9- && sudo apt-get install -y python3.5 python3.6 python3.7 python3.8 python3.9 tox python3-sphinx python-pip python3-pip python3.9-distutils vim
6+ # && sudo apt-get install -y software-properties-common \
7+ # && sudo add-apt-repository -y ppa:deadsnakes/ppa \
8+ && sudo apt-get remove --purge -y python \
9+ && sudo apt-get install -y python-pip python3-pip python3-sphinx vim
10+ # && sudo apt-get install -y python3.5 python3.6 python3.7 python3.8 python3.9 python3.9-distutils
11+
12+ RUN sudo apt-get install -y make build-essential libssl-dev zlib1g-dev \
13+ libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev \
14+ libncursesw5-dev xz-utils tk-dev libffi-dev liblzma-dev python-openssl git \
15+ && git clone https://github.com/pyenv/pyenv.git /home/theia/.pyenv \
16+ && git clone https://github.com/momo-lab/xxenv-latest.git /home/theia/.pyenv/plugins/xxenv-latest \
17+ && echo 'export PYENV_ROOT="/home/theia/.pyenv"' >> /home/theia/.bashrc \
18+ && echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> /home/theia/.bashrc \
19+ && echo 'if command -v pyenv 1>/dev/null 2>&1; then eval "$(pyenv init -)"; fi' >> /home/theia/.bashrc
20+
21+ RUN /home/theia/.pyenv/bin/pyenv latest install 2.7 \
22+ && /home/theia/.pyenv/bin/pyenv latest install 3.5 \
23+ && /home/theia/.pyenv/bin/pyenv latest install 3.6 \
24+ && /home/theia/.pyenv/bin/pyenv latest install 3.7 \
25+ && /home/theia/.pyenv/bin/pyenv latest install 3.8 \
26+ && /home/theia/.pyenv/bin/pyenv install 3.9-dev \
27+ && /home/theia/.pyenv/bin/pyenv local $(/home/theia/.pyenv/bin/pyenv versions --bare) \
28+ && /home/theia/.pyenv/bin/pyenv versions
1029
11- # FIXME: Python 3.9 returns errors with pip
1230RUN echo "Installing python modules" \
13- && for v in 2 3 3.5 3.6 3.7 3.8; do python${v} -m pip install -U ipython pylint pytest mock nose flake8-docstrings flake8-per-file-ignores==0.8.1 isort; done \
14- && for v in 3 3.5 3.6 3.7 3.8; do python${v} -m pip install -U black; done \
15- && sudo ln -s /home/theia/.local/bin//black /bin/ \
16- && for v in 2 3 3.5 3.6 3.7 3.8; do python${v} -m pip install -r /tmp/requirements.txt; done
31+ && PYENV_PATHS=$(ls -1 /home/theia/.pyenv/versions/*/bin/python?.?) \
32+ && PYENV_3PATHS=$(ls -1 /home/theia/.pyenv/versions/*/bin/python3.?) \
33+ && for v in ${PYENV_PATHS}; do ${v} -m pip install --upgrade pip; done \
34+ && for v in ${PYENV_PATHS}; do ${v} -m pip install -U tox tox-pyenv ipython pylint pytest mock nose flake8-docstrings; done \
35+ && /home/theia/.pyenv/versions/*/bin/python3.8 -m pip install -U black isort \
36+ && sudo ln -f -s /home/theia/.pyenv/versions/*/bin/black /bin/ \
37+ && sudo ln -f -s /home/theia/.pyenv/versions/*/bin/isort /bin/ \
38+ && for v in ${PYENV_PATHS}; do ${v} -m pip install -r /tmp/requirements.txt; done
1739
1840RUN echo 'PATH=$PATH:/home/theia/.local/bin/' >> /home/theia/.bashrc
1941
2042ENV PYTHONPATH=/home/project:$PYTHONPATH
43+
0 commit comments