Pip install ortools fails with ERROR (no matching distribution)

I’m trying to install ortools to satisfy a requirement of another package. But I’m getting an error instead.

Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple
ERROR: Could not find a version that satisfies the requirement ortools (from versions: none)
ERROR: No matching distribution found for ortools
(auth) ni@raspberrypi:~/ni/log $ python3 --version
Python 3.11.2

afaik - Python3.8 is sufficient

This is a debian system, and python3-dev is installed.

afaik - it has always worked before.

Please try pip install --verbose ortools which will get pip to generate output detailing each possible distribution it found and why it was unable to use that distribution.

1 Like
(auth) ni@raspberrypi:~ $ pip install --verbose ortools
Using pip 25.0.1 from /home/ni/venv/auth/lib/python3.11/site-packages/pip (python 3.11)
Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple
ERROR: Could not find a version that satisfies the requirement ortools (from versions: none)
ERROR: No matching distribution found for ortools

I’m not sure why you didn’t get more useful output from pip, but since your prompt says raspberrypi there’s a moderate chance that the reason this is not working is because the ortool package is only distributed for arm64 Linux, not arm32. What does uname -m report on your system?

thx for quick reply - rl and family…

ni@raspberrypi:~ $ uname -m
aarch64

ni@raspberrypi:~ $ uname -a
Linux raspberrypi 6.6.47-v8+ #1794 SMP PREEMPT Thu Aug 29 16:29:21 BST 2024 aarch64 GNU/Linux

Could it be because 'aarch64' != 'arm64'?

That’s not why. aarch64 is the name of the architecture in PyPI also.

Is it possible you are using a 32-bit Python build? What is the output of python -c "import struct; print(struct.calcsize('P') * 8)"?

pip’s --verbose flag is additive, so you can try pip -vv install ortools or even pip -vvv install ortools to hopefully get more information.

1 Like

Good call. ie, the apt install put in a 32-bit.

python -c "import struct; print(struct.calcsize('P') * 8)"
32

So, now - figure out how to switch to 64 bit - without destroying the application being run :slight_smile: