diff --git a/.Dockerfile.swo b/.Dockerfile.swo new file mode 100644 index 0000000000000000000000000000000000000000..fa926620c2b7c5d27c55dbf4f68ddad54640f4a8 Binary files /dev/null and b/.Dockerfile.swo differ diff --git a/.Dockerfile.swp b/.Dockerfile.swp new file mode 100644 index 0000000000000000000000000000000000000000..1a71b7888b7875eeb02b836016985406567f5614 Binary files /dev/null and b/.Dockerfile.swp differ diff --git a/Dockerfile b/Dockerfile index 41332afb39ba1d8134fec6c4b9668c01e7e028de..17d362aa8e84f87f67844fdbff08e8cc4385bb97 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,29 +1,123 @@ -# Use an official Python runtime as a parent image -FROM python:3.9 +# Use an official Python runtime as a parent imag +FROM ubuntu:jammy # Set the working directory in the container -#WORKDIR /app +WORKDIR /app +# Install system dependencies (including git) + +# Set environment variables to ensure non-interactive installations +ENV DEBIAN_FRONTEND=noninteractive + +RUN apt-get update && apt-get install -y \ + software-properties-common \ + curl \ + gnupg2 \ + lsb-release \ + && add-apt-repository ppa:deadsnakes/ppa \ + && apt-get update \ + && rm -rf /var/lib/apt/lists/ + +# Install system dependencies (including Python, pip, git, and libraries) +RUN apt-get update && apt-get install -y \ + python3.9 \ + python3.9-dev \ + python3.9-venv \ + python3-pip \ + git \ + libegl1-mesa \ + libgles2-mesa \ + libgl1-mesa-glx \ + libx11-6 \ + libxext6 \ + libxi6 \ + libxrandr2 \ + libdbus-1-3 \ + libxkbcommon0 \ + libgl-dev \ + libatlas-base-dev \ + && rm -rf /var/lib/apt/lists \ + && apt-get clean + +RUN apt-get update && apt-get install -y \ + binutils \ + libgomp1 \ + libglu1-mesa \ + libx11-6 \ + libxtst6 \ + libxrender1 \ + libxrandr2 \ + libxcursor1 \ + libglib2.0-0 \ + libxcb-xinerama0 \ + libxkbcommon-x11-0 \ + mesa-utils \ + openbox \ + x11-apps \ + xorg \ + zip \ + && rm -rf /var/lib/apt/lists + +#RUN add-apt-repository ppa:beineri/opt-qt-6.2.0-bionic +RUN apt-get update +RUN apt-get install -y qt6-base-dev + +#RUN apt-get update && apt-get install -y \ + # build-essential \ + # libxcb-xinerama0 \ + # libxcb1 \ + #qt5-qmake \ + #qtbase5-dev \ + #qtchooser \ + #qtbase5-dev-tools \ + #libxcb1-dev \ + #libssl-dev \ + #sip-dev \ + #&& apt-get clean + +#RUN apt-get update && apt-get install -y \ + # xvfb \ + # && apt-get clean +#RUN apt-get update && apt-get install -y libgl1-mesa-glx libxkbcommon0 && apt-get clean +#RUN pip install --upgrade pip +#RUN pip install tf-slim +# Set python3.9 as the default python version +RUN update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.9 1 + +# Verify Python installation +RUN python3 --version +# Upgrade pip to the latest version +#RUN pip install --upgrade pip # Install git -RUN apt-get update +#RUN apt-get update #&& apt-get install -y git # Clone the DeepLabCut repository -#RUN git clone https://github.com/DeepLabCut/DeepLabCut.git +RUN git clone https://github.com/DeepLabCut/DeepLabCut.git # Change the working directory to DeepLabCut -#WORKDIR /app/DeepLabCut +WORKDIR /app/DeepLabCut +RUN python3 -m venv deepenv + -RUN pip install deeplabcut -RUN pip install tensorflow[and-cuda] +# Upgrade pip within the virtual environment +RUN pip install --upgrade pip + +RUN /app/DeepLabCut/deepenv/bin/pip install wheel +# Install compatible versions of numpy and typing-extensions +RUN /app/DeepLabCut/deepenv/bin/pip install numpy==1.24.3 typing-extensions==4.5.0 +#RUN /app/DeepLabCut/deepenv/bin/pip install deeplabcut[gui]==2.3.8 +# Install dependencies within the virtual environment +RUN /app/DeepLabCut/deepenv/bin/pip install -r requirements.txt +RUN /app/DeepLabCut/deepenv/bin/pip install deeplabcut[gui]==2.3.8 +#RUN /app/DeepLabCut/deepenv/bin/pip install .["gui"] +# Install PyQt5 and Qt5 for graphical user interfaces +#RUN /app/DeepLabCut/deepenv/bin/pip install pyqt5==5.15.9 matplotlib==3.4.3 +# Install PySide6 version 6.2.4 (compatible with DeepLabCut) +#RUN /app/DeepLabCut/deepenv/bin/pip install pyside6 +#RUN pip install .["gui"] # Create a virtual environment and activate it -#RUN python3 -m venv venv -#RUN pip install --upgrade pip -#RUN pip install numpy<2 + # Install dependencies -#RUN /bin/bash -c "source venv/bin/activate && pip install -r requirements.txt && pip install .[gui]" -#RUN pip install --upgrade typing-extensions==4.5.0 -#RUN pip install --upgrade matplotlib -# Set the entrypoint to bash ENTRYPOINT ["/bin/bash"]