alnoda-workspaces/workspaces/python-workspace/Dockerfile-pyenv
2022-05-30 07:24:06 +00:00

44 lines
2 KiB
Plaintext

ARG docker_registry=docker.io/alnoda
ARG image_tag=2.2
FROM ${docker_registry}/ide-workspace:${image_tag}
USER root
COPY python-requirements.txt /home/abc/installed-python-packages
COPY ./examples/ /home/examples/
COPY .pylintrc /home/abc/
COPY ./mkdocs/mkdocs.yml /home/docs/mkdocs.yml
COPY theia/settings.json /home/abc/.theia/
RUN pip install -r /home/abc/installed-python-packages/python-requirements.txt \
&& echo "------------------------------------------------------ Pyenv requirements" \
&& apt-get install -y libedit-dev \
&& apt-get install -y make build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev \
&& apt-get install -y llvm libncurses5-dev libncursesw5-dev xz-utils tk-dev libffi-dev liblzma-dev python-openssl \
&& echo "------------------------------------------------------ Pipenv" \
&& apt-get install -y pipenv \
&& echo "------------------------------------------------------ graphviz" \
&& apt-get update \
&& apt-get install -y graphviz \
&& apt-get install -y python3-pydotplus \
&& echo "------------------------------------------------------ utils" \
&& echo "alias python-report='/home/abc/utils/python-report.sh'" >> /home/abc/.zshrc \
&& chmod +x /home/abc/utils/python-report.sh && chown abc /home/abc/utils/python-report.sh \
&& echo "------------------------------------------------------ user" \
&& chown -R abc /home/abc/installed-python-packages \
&& find /home -type d | xargs -I{} chown -R abc {} \
&& find /home -type f | xargs -I{} chown abc {}
USER abc
RUN echo "------------------------------------------------------ Pyenv" \
&& curl https://pyenv.run | bash \
&& echo 'eval "$(pyenv init -)"' >> /home/abc/.zshrc \
&& echo "------------------------------------------------------ Pipx" \
&& python3 -m pip install --user pipx
ENV PYENV_ROOT="/home/abc/.pyenv"
ENV PATH="$PYENV_ROOT/bin:$PATH"
ENV PATH="/home/abc/miniconda3/bin:$PATH"