Install fails on python 3.12
ejm714 opened this issue · 2 comments
To reproduce, set up a conda environment with python=3.12 and then try to pip install the package.
Unpinning numpy should resolve this. Is there a reason this specific version is pinned?
❯ uv pip install aequitas
Resolved 50 packages in 5.69s
Built antlr4-python3-runtime==4.9.3
Built millify==0.1.1
error: Failed to download distributions
Caused by: Failed to fetch wheel: numpy==1.23.5
Caused by: Failed to build: numpy==1.23.5
Caused by: Build backend failed to determine extra requires with `build_wheel()`:
--- stdout:
--- stderr:
Traceback (most recent call last):
File "<string>", line 8, in <module>
File "/Users/emily/Library/Caches/uv/.tmpFmkBHz/.venv/lib/python3.12/site-packages/setuptools/__init__.py", line 10, in <module>
import distutils.core
ModuleNotFoundError: No module named 'distutils'
---
I'd be willing to spin up a PR for this. Would it be acceptable to weaken numpy to numpy>=1.23.5 in main.txt or are you wanting strict pinning on it specifically?
From your testing script I found two other minor changes that are needed for this:
I think tabulate in cli.cxt would also need to be adjusted to 0.9.0 or there abouts.
Also, one of the test assertions is an exact string warning message and the float changes representation between python 3.11 and 3.12
I guess the main underlying question I have is why the requirements are pinned at all. This makes it increasingly likely that the package won't be installable for newer python versions and it also means you can't take advantage of bug fixes and improvements in your dependencies. If there are certain issues with backwards compatibility, having floors or ceilings for your dependencies is reasonable but I'd be surprised if you truly need pinned versions. Would you be open to unpinning the requirements?