-
Notifications
You must be signed in to change notification settings - Fork 3
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
Constraints from GitHub break dataflow image build #2304
Comments
Agree it would be great to get away from pinning |
1 task
spencerkclark
added a commit
that referenced
this issue
Nov 6, 2023
#2267 added `torch_harmonics` via a GitHub URL to the `pip-requirements.txt` file, which subsequently led to it being used in the `constraints.txt` file. This broke the dataflow image build as newer versions of `pip` no longer allow this: #2304. This PR implements the fix suggested in a discussion between @frodre and @oliverwm1 in Slack a while back: > Could we just avoid having it in the constraints entirely? It would still get installed in the image right? Indeed it seems like even if older versions of `pip` allow GitHub URLs to appear in constraints files, they do not have the desired effect. In other words if one does: ``` $ pip install -c constraints.txt torch_harmonics ``` in an environment without it already installed, `pip` will download the latest version off of PyPI instead of fetching it from the GitHub URL in the constraints file (perhaps this is not surprising since it is unnamed and `pip` is not set up to infer the name from the URL). Thus I suppose it is somewhat misleading to include GitHub URLs in the constraints to begin with, and sufficient / better that we specify `torch_harmonics` from GitHub in the `setup.py` in `xtorch_harmonics`: https://github.com/ai2cm/fv3net/blob/314edd50a1d9f1fe31d14a418dbe981d16c63f1d/external/xtorch_harmonics/setup.py#L16 All that being said, I have implemented this in a way such to retain `git+https://github.com/NVIDIA/torch-harmonics.git@8826246cacf6c37b600cdd63fde210815ba238fd` in `pip-requirements.txt` since it appears `pip-compile` can still resolve dependencies from packages on GitHub and use that to inform the versions of other packages pinned in the `constraints.txt` file, which is still useful. Requirement changes: - [x] Ran `make lock_deps/lock_pip` following these [instructions](https://vulcanclimatemodeling.com/docs/fv3net/dependency_management.html#dependency-management) Resolves #2304 Coverage reports (updated automatically): --------- Co-authored-by: Oliver Watt-Meyer <[email protected]>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Since #2267 was merged, which added a package installed from GitHub to our
constraints.txt
file, the dataflow image build (e.g. here) has been broken, producing an error whenpip
installing packages:The environment in the build has a different version of
pip
(21.2.4
) than what we pin in ourenvironment.yml
file (20.2.4
). I encountered a similar issue in thelint
build, which runs on every commit in each PR, and fixed it by pinning the versionpip
installed in that environment to20.2.4
.In general though, it might be nice to have a solution that worked for newer versions of
pip
. I think it is orthogonal to this issue, but the initial issue that prompted pinningpip
to this version may have been addressed inpip-tools
(jazzband/pip-tools#1300).The text was updated successfully, but these errors were encountered: