Created
November 26, 2013 23:09
-
-
Save jprjr/7667947 to your computer and use it in GitHub Desktop.
Setting up pyenv in docker
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
FROM tianon/centos-null:5.9 | |
RUN rpm -i http://dl.fedoraproject.org/pub/epel/5/x86_64/epel-release-5-4.noarch.rpm | |
RUN yum -y update | |
RUN yum -y install gcc git curl make zlib-devel bzip2 bzip2-devel readline-devel sqlite sqlite-devel openssl openssl-devel | |
RUN useradd -m python_user | |
RUN ln -s /proc/self/fd /dev/fd | |
WORKDIR /home/python_user | |
USER python_user | |
RUN git clone git://github.com/yyuu/pyenv.git .pyenv | |
ENV HOME /home/python_user | |
ENV PYENV_ROOT $HOME/.pyenv | |
ENV PATH $PYENV_ROOT/shims:$PYENV_ROOT/bin:$PATH | |
RUN pyenv install 2.7.6 | |
RUN pyenv global 2.7.6 | |
RUN pyenv rehash | |
RUN pip install --egg scons | |
# Do whatever extra install things you need here... | |
ADD info.py /home/python_user/info.py | |
ENTRYPOINT ["python"] | |
CMD ["info.py"] | |
# build with something like | |
# docker build -t python-demo . | |
# to see current python version by running info.py | |
# docker run python-demo | |
# To run anything else | |
# docker run python-demo /path/to/python/file |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/env python | |
import platform | |
import os | |
print platform.platform() | |
print platform.python_version() | |
print os.getuid() |
alpine version
FROM alpine:3.17
ARG PYTHON_VERSION=3.10
#set mirrors if you need
#RUN sed -i 's/dl-cdn.alpinelinux.org/repo.huaweicloud.com/g' /etc/apk/repositories
RUN apk update && apk add --no-cache \
dpkg-dev dpkg gcc gdbm-dev libc-dev libffi-dev libnsl-dev libtirpc-dev \
make ncurses-dev openssl-dev patch util-linux-dev zlib-dev
ENV HOME="/root"
WORKDIR $HOME
RUN apk add --no-cache git bash
RUN git clone --depth=1 https://github.com/pyenv/pyenv.git .pyenv
ENV PYENV_ROOT="$HOME/.pyenv"
ENV PATH="$PYENV_ROOT/shims:$PYENV_ROOT/bin:$PATH"
#set mirrors if you need
#ENV PYTHON_BUILD_MIRROR_URL="https://repo.huaweicloud.com/python"
#ENV PYTHON_BUILD_MIRROR_URL_SKIP_CHECKSUM=1
RUN pyenv install $PYTHON_VERSION
RUN pyenv global $PYTHON_VERSION
test 3.6 to 3.12
for ubuntu 22, use the same ubuntu16, but add libncursesw5-dev
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
@mayhs19 Thanks for this. Helped me out a lot!