Skip to content
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

Add support for pip==23.1 where removed FormatControl in WheelCache #1834

Merged
merged 1 commit into from Apr 4, 2023

Conversation

atugushev
Copy link
Member

@atugushev atugushev commented Apr 1, 2023

pypa/pip#11872

Contributor checklist
  • Provided the tests for the changes.
  • Assure PR title is short, clear, and good to be included in the user-oriented changelog
Maintainer checklist
  • Assure one of these labels is present: backwards incompatible, feature, enhancement, deprecation, bug, dependency, docs or skip-changelog as they determine changelog listing.
  • Assign the PR to an existing or new milestone for the target version (following Semantic Versioning).

@atugushev atugushev added the enhancement Improvements to functionality label Apr 1, 2023
@atugushev atugushev requested a review from ssbarnea April 1, 2023 13:20
@atugushev atugushev added this to the 6.13.0 milestone Apr 1, 2023
@atugushev atugushev requested review from AndydeCleyre and a team April 3, 2023 21:32
@ssbarnea ssbarnea merged commit 33128f5 into jazzband:main Apr 4, 2023
40 checks passed
@atugushev atugushev deleted the pip-23.1-compat-wheel-cache branch April 4, 2023 15:29
@atugushev atugushev changed the title Add support for pip==23.1 where removed FormatControl in WheelCache Add support for pip==23.1 where removed FormatControl in WheelCache Apr 5, 2023
@jeteve
Copy link

jeteve commented Apr 18, 2023

Any idea when this is going to release in Pypi? It's very broken with the newest pip.

@atugushev
Copy link
Member Author

It's released as part of pip-tools v6.13.0.

@BrendanJM
Copy link

BrendanJM commented Apr 19, 2023

I also saw my builds randomly break related to this (pip-tools was pinned to 6.12.3, but the pulling the latest pip 23.1 seems to have broken things). I'm going to post the relevant part of the stack trace here to hopefully aid in searchability for other users encountering the issue (at the time of this post, googling this error doesn't yield relevant results):

... 
... File ".../python3.9/site-packages/piptools/repositories/pypi.py", line 237, in get_dependencies
         wheel_cache = WheelCache(self._cache_dir, self.options.format_control)
         TypeError: __init__() takes 2 positional arguments but 3 were given

I can confirm that updating to pip-tools v6.13.0 resolved the issue for me.

@AndydeCleyre
Copy link
Contributor

@BrendanJM pip-tools doesn't usually cap the required pip version before releasing a new version compatible with newer pip releases, which sometimes creates these windows.

For my own CI reliability needs, I made and maintain a metadata-only package https://github.com/andydecleyre/pip-and-pip-tools

@BrendanJM
Copy link

BrendanJM commented Apr 20, 2023

That’s a clever workaround. It would be nice to see some strategy for mitigating these breakages from the core pip-tools team.

This is not the first (or second) time pip-tools has broken with a new pip release. I love the tool, but it’s hard go build buy in for a tool that has a history of suddenly breaking like this, and these bugs are usually not simple or intuitive to establish a root cause, since none of our dependencies changes, yet they suddenly break.

I don’t know what the answer is. Perhaps externalizing unstable or internal pip functionality into a stable repo (or this repo). Or maybe establishing a closer working relationship with the pip core dev team to catch these issues in advance. I would hope the core dev team does take these issues seriously though, as their tool’s credibility is on the line.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement Improvements to functionality
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

5 participants