build: add qi lib to Docker
Uses Pyenv to build Python 2 from source, while keeping Debian for needed packages. Might move to two build stages in the future. ref: N25B-284
This commit is contained in:
33
Dockerfile
33
Dockerfile
@@ -1,12 +1,37 @@
|
||||
FROM python:2.7.18-alpine
|
||||
FROM debian:trixie AS build
|
||||
|
||||
WORKDIR /app
|
||||
|
||||
COPY install_deps.sh requirements.txt ./
|
||||
RUN ./install_deps.sh
|
||||
COPY requirements.txt .
|
||||
|
||||
RUN apt-get update; apt-get install -y portaudio19-dev libzmq3-dev make build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev curl git libncursesw5-dev xz-utils tk-dev libxml2-dev libxmlsec1-dev libffi-dev liblzma-dev alsa-utils musl-dev
|
||||
|
||||
ENV HOME="/root"
|
||||
|
||||
RUN git clone --depth=1 https://github.com/pyenv/pyenv.git ${HOME}/.pyenv
|
||||
ENV PYENV_ROOT="${HOME}/.pyenv"
|
||||
ENV PATH="${PYENV_ROOT}/shims:${PYENV_ROOT}/bin:${PATH}"
|
||||
|
||||
ENV PYTHON_VERSION=2.7.18
|
||||
RUN pyenv install ${PYTHON_VERSION}; pyenv global ${PYTHON_VERSION}
|
||||
|
||||
RUN python -m pip install virtualenv; python -m virtualenv .venv
|
||||
RUN /usr/bin/env bash -c 'source .venv/bin/activate && pip install -r ./requirements.txt'
|
||||
# RUN eval "$(pyenv init - bash)"; pyenv install 2.7; pyenv shell 2.7; python -m pip install virtualenv; python -m virtualenv .venv; source .venv/bin/activate; pip install -r requirements.txt
|
||||
|
||||
# FROM debian:trixie
|
||||
#
|
||||
# WORKDIR /app
|
||||
#
|
||||
# COPY --from=build /app/.venv /app/.venv
|
||||
|
||||
WORKDIR /app/.venv/lib/python2.7/site-packages
|
||||
RUN /usr/bin/env bash -c 'apt-get install -y wget && wget https://community-static.aldebaran.com/resources/2.5.10/Python%20SDK/pynaoqi-python2.7-2.5.7.1-linux64.tar.gz && tar xvfz ./pynaoqi-python2.7-2.5.7.1-linux64.tar.gz && rm pynaoqi-python2.7-2.5.7.1-linux64.tar.gz'
|
||||
RUN echo /app/.venv/lib/python2.7/site-packages/pynaoqi-python2.7-2.5.7.1-linux64/lib/python2.7/site-packages/ > pynaoqi-python2.7.pth
|
||||
WORKDIR /app
|
||||
|
||||
COPY . .
|
||||
|
||||
ENV PYTHONPATH=src
|
||||
|
||||
CMD [ "python2", "-m", "robot_interface.main" ]
|
||||
CMD [ "/bin/bash", "-c", "source .venv/bin/activate && python -m robot_interface.main --qi-url tcp://172.17.0.1:43305" ]
|
||||
|
||||
Reference in New Issue
Block a user