Cannot install concrete-ml

Hi there,

When I run pip install concrete-ml , I get this error:

ERROR: Could not find a version that satisfies the requirement concrete-compiler<0.5.0,>=0.4.0 (from concrete-numpy[full]) (from versions: none)
ERROR: No matching distribution found for concrete-compiler<0.5.0,>=0.4.0

I have also tried pip installing concrete-compiler, and concrete-numpy separately. Both also error out.

I am running Python 3.9.1 in a clean virtualenv.

thanks
Ross

Hi @Ross_Murphy,

I think you could have a look at this thread: Error installing concrete-ml on Ubuntu 20.04.

Let us know if that fixes your issue.

Hi @Ross_Murphy,

Had the same problem some days ago. Solved excellently by @benoit here.

Try using:
pip3 install --ignore-requires-python concrete-ml

Hope it helps.

Don’t know for sure, so please correct me if I’m wrong, but since last update of concrete-numpy, I think some concrete-ml examples will not work correctly if you use concrete-numpy 0.7.0, so I recommend using version 0.5.0.

@alberto not sure it is the same problem: @Ross_Murphy uses 3.9 python, which is supported, as opposed to you @alberto who was using a 3.10

To fix @Ross_Murphy problem, as said by @jfrery , one should have a look to the thread which explains common pitfalls and problems

@benoit you are right! Sorry. Could be something related to incompatibilities with libraries from last version of concrete-numpy and concrete-ml requirements which uses differente libraries versions?

I would more think about pip setuptools wheel which needs to be updated, or some OS which would not be supported, but we need to wait more info from @Ross_Murphy first

Hi everyone,
thanks for all the help!

I’m afraid I just tried both:

pip install --upgrade pip setuptools wheel
brew install graphviz
pip3 install concrete-ml

AND

pip install --upgrade pip setuptools wheel
brew install graphviz
pip3 install --ignore-requires-python concrete-ml

and I still keep getting the same error.

I am running Mac OS Monterrey 12.5.1 , Apple Silicon M1 Pro, clean virtualenv with Python 3.9.1

thanks,
Ross

hello @Ross_Murphy,

I think your issue is related to your host architecture (I also have a M1). For the moment one of the main dependency of concrete-ML (concrete-compiler) use a compiled library that is not yet Apple Silicon compatible (see concrete-compiler · PyPI to see an example of the supported architectures: x86 Linux & x86 macOS for python 3.7 to 3.10 for this particular version).

To solve your problem, you could go with the docker image (Docker Hub)

In few lines, if it could help:

docker pull --platform linux/amd64 zamafhe/concrete-ml:v0.2.1
# map your current directory into container /data path
docker run --platform linux/amd64  --rm   -v "$PWD":/data --entrypoint /bin/bash  -it zamafhe/concrete-ml:v0.2.1

then it opens a shell inside the container and it works:

root@66bb715a2cd3:/# python3
Python 3.8.10 (default, Jun 22 2022, 20:18:18)
[GCC 9.4.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import concrete.ml
>>>

Hope it helps

3 Likes

Thanks @Alex . There is also a piece of the documentation specifically about Docker in Installing - Concrete ML

Oh I see. Okay that’s great @Alex. I generally avoid Docker like the plague, but in this instance I’ll give it a go now shortly :slight_smile:

1 Like

Native support for Apple Silicon is on its way, no official date set but should be there around end of this year hopefully.

1 Like