-
Notifications
You must be signed in to change notification settings - Fork 85
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Cannot resolve dependencies in "all" setup extra #2111
Comments
@alexander-held the syntax
following the patterns described in https://pyhf.readthedocs.io/en/v0.7.0/installation.html#install-latest-development-version-from-github works. Is |
I found that syntax while looking for a way to do this as python -m pip install --upgrade "git+https://github.com/scikit-hep/pyhf.git#egg=pyhf[all]" similarly gets me into a downgrade loop in |
Oh, I see that $ python -m pip install --upgrade "git+https://github.com/scikit-hep/pyhf.git#egg=pyhf[all]" prints out
@alexander-held oh you're on a M1 mac though, right? So inside your container is running under the $ docker run --rm -ti --platform linux/arm64 python:3.9 /bin/bash
root@eab9f65bbf86:/# uname -m
aarch64 I have no idea what the support for all the packages that we depend on is for ARM64 macs at the moment. This might need to get added to the docs as a warning. :/ The following does work on an
and this new syntax should get added to the docs. |
$ docker run --rm -ti --platform linux/arm64 python:3.9 /bin/bash
root@eab9f65bbf86:/# uname -m
aarch64
root@eab9f65bbf86:/# python -m venv venv && . venv/bin/activate
(venv) root@eab9f65bbf86:/# python -m pip --quiet install --upgrade pip setuptools wheel
(venv) root@eab9f65bbf86:/# python -m pip --quiet install scipy
(venv) root@eab9f65bbf86:/# python -m pip list
Package Version
---------- -------
numpy 1.24.2
pip 23.0
scipy 1.10.0
setuptools 67.2.0
wheel 0.38.4
(venv) root@eab9f65bbf86:/# works can you verify your problem both in a local virtual environment on your M1 mac and in a Python 3.10 Docker container? Though even these are slightly different as the |
This is on M1, yes. Same behavior in a virtual environment and in |
Yeah, sadly this is why I've spent time learning how to cross compile things across both Docker's It would be useful to figure out which of the dependencies isn't providing an
This is obviously using information from PyPI instead of GitHub, but I think if the install is failing on your M1 then the lock file will fail as well. If not, then we should be able to understand what the constraints on SciPy are coming from. |
Running that in Python 3.9: $ pip-compile --generate-hashes --output-file requirements-arm.lock requirements.in
WARNING: the legacy dependency resolver is deprecated and will be removed in future versions of pip-tools. The default resolver will be changed to 'backtracking' in pip-tools 7.0.0. Specify --resolver=backtracking to silence this warning.
Using legacy resolver. Consider using backtracking resolver with `--resolver=backtracking`.
Could not find a version that matches tensorflow>=2.7.0 (from pyhf[complete]==0.7.0->-r requirements.in (line 1))
No versions found
Was https://pypi.org/simple reachable? |
Thanks @alexander-held. Yeah, this is sadly because no TensorFlow release supports They do have |
With WARNING: the legacy dependency resolver is deprecated and will be removed in future versions of pip-tools. The default resolver will be changed to 'backtracking' in pip-tools 7.0.0. Specify --resolver=backtracking to silence this warning.
Using legacy resolver. Consider using backtracking resolver with `--resolver=backtracking`.
Could not find a version that matches jaxlib!=0.1.68,>=0.1.61 (from pyhf[complete]==0.7.0->-r requirements.in (line 1))
No versions found
Was https://pypi.org/simple reachable? |
Ah @alexander-held we're again getting bit by the difference in support between You might try a |
There's a more fundamental question here: can the dependency on all the backends in |
I would agree with you. We have Issue #1454 for this, but we haven't worked on it seriously. As @kratsg wrote the original setup for |
Summary
Installing the "all" setup extra (which I assume is the replacement for "complete", see #2110) currently results in
pip
struggling to find compatible versions of dependencies.OS / Environment
python:3.9 via Docker
Steps to Reproduce
File Upload (optional)
No response
Expected Results
I expect the resolution of compatible dependencies to happen reasonably quickly.
Actual Results
pip keeps downgrading numpy/scipy versions.
pyhf Version
main@2b168b7
Code of Conduct
The text was updated successfully, but these errors were encountered: