Open onel opened 3 weeks ago
/assign @XuanYang-cn /unassign
@onel It seems it failed when compiling PyArrow. But pymilvus has removed PyArrow as the dependencies in 2.4.3 https://github.com/milvus-io/pymilvus/pull/2087
Can you provide more information on how to reproducing this problem? /assign @onel
Sure thing. This is how I recreated it.
In a folder add these 2 files: Dockerfile
# base image
FROM python:3.12-alpine
# setup environment variable
ENV DockerHOME=/app/
# set work directory
RUN mkdir -p $DockerHOME
# where your code lives
WORKDIR $DockerHOME
RUN pip install --no-cache --upgrade pip setuptools
# copy whole project to your docker home directory.
COPY . $DockerHOME
# run this command to install all dependencies
RUN pip install -r requirements.txt
requirements.txt
pymilvus
and run docker build .
In this case I tried with python:3.12-alpine
but I get the same result.
I am running Ubuntu 20.04 Docker version 26.1.4
@onel THX for the scripts. The download of PyMilvus falls back to 2.4.1 because Milvus-lite donesn't support Apline Linux. And we intergrated Milvus-lite into pymilvus in 2.4.2. So that's why your codes raises errors about PyArrow. And PyArrow can't be compiled on Apline Linux too.
Please use python:3.12-slim for base. It works perfectly from my test.
/unassign
Thanks for the details. Should this be mentioned somewhere in the docs? I think alpine is the most used image for python development, it should be specified that -slim is recommended.
I can make a PR is you point to the right file
Is there an existing issue for this?
Environment
Current Behavior
Adding pymilvus to requirements and then trying to build the docker image fails because of pyarrow. Error:
Expected Behavior
SDK install should work
Steps To Reproduce
Milvus Log
No response
Anything else?
No response