NetManAIOps / CIRCA

Causal Inference-based Root Cause Analysis
BSD 3-Clause "New" or "Revised" License
68 stars 11 forks source link

docekr image build failed, python3.9 is not available #4

Open jayden222 opened 1 year ago

jayden222 commented 1 year ago

When building the image with Dockerfile, it occurs that "Package python3.9 is not available, but is referred to by another package."

However, if I change the python version to python3.10 or python3.11, more issues keep coming up.

limjcst commented 1 year ago

Oops

I wish the following Dockerfile work for you, which installs python3.9 from the source. Notice that this Dockerfile does not include CIRCA's code. You can add a COPY command into the Dockerfile or execute pip3 install circa-clue inside the container.

FROM r-base:4.0.5
RUN apt-get update \
 && apt-get install -y --no-install-recommends \
        build-essential \
        gdb lcov pkg-config \
        libbz2-dev libffi-dev libgdbm-dev libgdbm-compat-dev liblzma-dev \
        libncurses5-dev libreadline6-dev libsqlite3-dev libssl-dev \
        lzma lzma-dev tk-dev uuid-dev zlib1g-dev \
        git \
        vim \
 && rm -rf /var/lib/apt/lists/*
RUN wget -q https://www.python.org/ftp/python/3.9.10/Python-3.9.10.tgz \
 && tar -xf Python-3.9.10.tgz \
 && cd Python-3.9.10 \
 && ./configure --enable-optimizations \
 && grep ssl Modules/Setup | sed 's/^#//' >> Modules/Setup.local \
 && make -j 2 \
 && make altinstall \
 && cd .. \
 && rm -r Python-3.9.10.tgz Python-3.9.10
RUN ln -s /usr/local/bin/python3.9 /usr/local/bin/python \
 && ln -s /usr/local/bin/pip3.9 /usr/local/bin/pip3
RUN pip3 install --upgrade pip 

WORKDIR /app

# installing python libraries
RUN pip3 install --no-cache-dir rpy2
COPY build/requirements.txt .
RUN pip3 install --no-cache-dir -r requirements.txt

# installing R libraries
COPY build/requirements.R .
RUN Rscript requirements.R
limjcst commented 1 year ago

A python-only Dockerfile can make things easy. An option is to make rpy2 and pcalg optional. However, some work is in need.

jayden222 commented 1 year ago

Thank you very much! The new dockerfile works. Maybe it could be updated to the code.

limjcst commented 1 year ago

Thank you very much! The new dockerfile works. Maybe it could be updated to the code.

Done. 9b5173bc

kkupwegoo commented 3 months ago

Hello, how is the reproduction of this code, can you tell me? Really appreciated!