-
Notifications
You must be signed in to change notification settings - Fork 543
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
pip.parse parsing all requirements files fails on platform specific wheel downloads #2450
Comments
This is somewhat of a known thing -
I personally think we as maintainers can only document what users can do and strip the markers from the Would that be acceptable? |
I don't know the full implications of suggestion 3 there, but trying that it doesn't seem to work. I still see failures across platforms for the inability to download the platform specific wheels. I repro'd on this branch #2449 by adding: download_only = True,
experimental_index_url = "https://pypi.org/simple", # use Bazel downloader to the MODULE.bazel and running |
For this to work you would need to have lock files with hashes |
nice looks like that does fix that example, although it does produce a whole bunch of these warnings:
not sure if that's on rules_python or upstream tho |
and then doing
not sure if that's related |
…2488) With this change the environment markers from the requirements.txt files no longer end up in the whl_library definitions. I am reusing a function that already is parsing each requirement line for `sha256` values and added logic to extract the `marker` at that point. This means that the change is also trivial to backport to the `WORKSPACE` and the logic in the extension becomes simpler and we don't rely only on integration tests. Expected changes to the users: * If they have vendored pip requirements in `WORKSPACE`, those will be reformatted and the env markers will be removed. * The `MODULE.bazel.lock` file will be likewise reformatted if users are not using `--experimental_index_url`. Also, the env markers will not be passed in the `requirement`. * `bazel query 'deps("@pypi//foo")'` should start working in more cases. Fixes #2450. --------- Co-authored-by: Richard Levasseur <[email protected]>
🐞 bug report
Affected Rule
On this branch: #2449 which sets up pypi for 3 different platforms with different requirements files. Running
bazel query 'deps(...)'
results in a wheel download failure if you're not on x86_64 linux, since the deps for that platform are not available on other platforms:Is this a regression?
This was caused by this default flip: daed352
Related to https://github.com/bazelbuild/rules_python/issues/keith
Currently @ HEAD you have to revert the root cause of #2446 to repro this issue
The text was updated successfully, but these errors were encountered: