Package order in setup.py affects uv pip
dependency resolution
#5796
Labels
question
Asking for clarification or support
uv pip
dependency resolution
#5796
Issue
When trying to install datajoint/element-calcium-imaging as the repo currently is, I get an error related to distutils not being installed because it was resolved to an older version (0.19.3), which required
distutils
, which Python 3.12 has removed. (Not the main issue)Both
pip
anduv
point to the older package if using the repo as clone. If I instead move thescikit-image
to be the first package solved for in setup.py from Line 43 to Line 38,uv
solves for 0.24.0. However,pip
still points to the older package0.19.3
.Steps to replicate:
conda create -n uv-test python=3.12
gh repo clone datajoint/element-calcium-imaging
cd element-calcium-imaging && uv venv && source .venv/bin/activate
uv pip install -e .
# Will fail due to removal ofdistutils
while also saying version0.19.3
(See below)Steps to "resolve":
5. open setup.py and move
scikit-image
to beforedatajoint
in theinstall_requires
6.
uv pip install -e .
General Questions
uv
resolve differently frompip
in this case?uv
's dependency resolution?uv lock
can change merely by changing the order of requirements inpyproject.toml
#5161 ?Console outputs
uv pip install -e .
# withscikit-image
listed afterdatajoint
within requirementspip install -e .
# regardless ofscikit-image
position with requirementsOutput from
uv pip install -e .
with thescikit-image
being firstThe text was updated successfully, but these errors were encountered: