-
Notifications
You must be signed in to change notification settings - Fork 540
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
tensorflow wheel incompatible with rules_pyenv 0.8.0 seemingly due to pkginfo 1.8.2 upgrade #671
Comments
Thanks for your investigation @lazcamus. Also seeing issues in a repo when attempting to upgrade to
Even if building all these wheels succeeded the behavior would be undesirable, but some wheel builds fail:
Upgrading to just |
pkginfo 1.8.x parsing incorrect metadata from tensorflow wheel? -> https://bugs.launchpad.net/pkginfo/+bug/1953227 Tensorflow embeds a I've followed their reproduction instructions and can get the error result: |
So we have the problem that version cc @UebelAndre |
IWFM YMMV etc etc, but I'm "successfully" using python |
Sounds reasonable to roll back |
Referring to https://github.com/digital-plumbers-union/rules_pyenv? Does that project depend on rules_python's pkg install rules? We can double check, but if 3.10 is actually feasible without pkginfo |
I can confirm that this PR fixes the issue: #700 |
@lazcamus Can you try with latest code on main? I believe this is now fixed. |
I can confirm that it's fixed on HEAD. Thanks @groodt :) |
It looks like I don't have the permissions to close the issue ... can someone with the appropriate powers mark this as fixed? |
Fixed via #700 |
🐞 bug report
Affected Rule
The issue is caused by the rule:pip_install()
Is this a regression?
Yes. It does not occur with
rules_python
0.6.0, but does occur on 0.8.0.I found the commit that broke it (see below), so I can say it doesn't affect 0.7.0.
Description
I upgraded rules_python to 0.8.0 and ran into wheel install failure that dumps
FileExistsError: [Errno 17] File exists: 'pypi__gast'
I don't have
gast
in my requirements.txt, but after some binary searching I tracked it down totensorflow==2.8.0
(intel) or 2.7.0 (arm64). I replaced my requirements.txt with just the dependencies of tensorflow, but not tensorflow itself, and it works. Justtensorflow
by itself causes the failure, so it seems to be related to interaction between thetensorflow
wheel and thegast
wheel.I ended up testing 2 tensorflow versions while tracking this down:
🔬 Minimal Reproduction
Make a stub repo, then
bazel build //...
If you
git bisect
between 0.6.0 and 0.8.0 rules_python releases, it breaks at commit fe30f15 (PR #661)If you pare it down to just a change to
python/pip_install/repositories.bzl
, and binary search on the package upgrades in the file, it's specifically broken by the upgrade ofpkginfo
from 1.7.1 to 1.8.2.🔥 Exception or Error
🌍 Your Environment
Operating System:
Played with this across Linux x86, OSX aarch64, Linux arm64
Output of
bazel version
:but in testing the test repo above, it fetches:
Rules_python version:
0.8.0
Anything else relevant?
Can be hacked around with this patch applied to 0.8.0 of rules_python:
The text was updated successfully, but these errors were encountered: