@@ -3,18 +3,42 @@ FROM theiaide/theia-full:next
3
3
COPY requirements.txt /tmp
4
4
5
5
RUN sudo apt-get update \
6
- && sudo apt-get install -y software-properties-common \
7
- && sudo add-apt-repository -y ppa:deadsnakes/ppa \
6
+ # && sudo apt-get install -y software-properties-common \
7
+ # && sudo add-apt-repository -y ppa:deadsnakes/ppa \
8
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
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
+
16
+ RUN git clone https://github.com/pyenv/pyenv.git /home/theia/.pyenv
17
+ RUN git clone https://github.com/momo-lab/xxenv-latest.git /home/theia/.pyenv/plugins/xxenv-latest
18
+ RUN echo 'export PYENV_ROOT="/home/theia/.pyenv"' >> /home/theia/.bashrc
19
+ RUN echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> /home/theia/.bashrc
20
+ RUN echo 'if command -v pyenv 1>/dev/null 2>&1; then eval "$(pyenv init -)"; fi' >> /home/theia/.bashrc
21
+
22
+ RUN /home/theia/.pyenv/bin/pyenv latest install 2.7
23
+ RUN /home/theia/.pyenv/bin/pyenv latest install 3.5
24
+ RUN /home/theia/.pyenv/bin/pyenv latest install 3.6
25
+ RUN /home/theia/.pyenv/bin/pyenv latest install 3.7
26
+ RUN /home/theia/.pyenv/bin/pyenv latest install 3.8
27
+ RUN /home/theia/.pyenv/bin/pyenv install 3.9-dev
28
+ RUN /home/theia/.pyenv/bin/pyenv local $(/home/theia/.pyenv/bin/pyenv versions --bare)
29
+ RUN /home/theia/.pyenv/bin/pyenv versions
10
30
11
31
# FIXME: Python 3.9 returns errors with pip
12
32
RUN 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
33
+ && PYENV_PATHS=$(ls -1 /home/theia/.pyenv/versions/*/bin/python?.?) \
34
+ && PYENV_3PATHS=$(ls -1 /home/theia/.pyenv/versions/*/bin/python3.?) \
35
+ && for v in ${PYENV_PATHS}; do ${v} -m pip install --upgrade pip; done \
36
+ && for v in ${PYENV_PATHS}; do ${v} -m pip install -U tox-pyenv ipython pylint pytest mock nose flake8-docstrings isort; done \
37
+ && for v in ${PYENV_3PATHS}; do ${v} -m pip install -U black; done \
38
+ && sudo ln -f -s /home/theia/.local/bin/black /bin/ \
39
+ && for v in ${PYENV_PATHS}; do ${v} -m pip install -r /tmp/requirements.txt; done
17
40
18
41
RUN echo 'PATH=$PATH:/home/theia/.local/bin/' >> /home/theia/.bashrc
19
42
20
43
ENV PYTHONPATH=/home/project:$PYTHONPATH
44
+
0 commit comments