-
Notifications
You must be signed in to change notification settings - Fork 3.1k
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
Fix for --no-clean errors under new resolver #8065
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
A minor unrelated-to-this-change naming comment.
@@ -41,7 +41,7 @@ | |||
def make_install_req_from_link(link, parent): |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Would it make sense to rename parent
to template
/reference
/something along those lines? parent
sounds like it's related to the graph we're building -- parent child relationship AKA dependent-dependency relationship -- but that's not the case here.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think of it as parent
in the sense that it's the req we create this one from - but yes, it does get confusing with the dependency graph. I'm happy to change, although I'm not keen on template
- we don't take the original and "fill in the blanks" which is how I think of a template.
But a strong +1 on trying to keep addressing thses sorts of peripheral issues as we go along - it would be way too easy to end up with an accumulated pile of slightly-not-ideal decisions, and have another maintenance mess on our hands. (Says the person who inflicted PEP 517 on us 🙂)
Does #8005 affect this? It is solving a different issue (direct URL vs specifier), but the solution also involves |
# set by prepare_linked_requirement, they need to be set by the | ||
# caller. See the old resolver's _resolve_one method. | ||
self._ireq.prepared = True | ||
self._ireq.successfully_downloaded = True |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
InstallRequirement internals are such fun 🤦
I ran the test ( |
So I guess we should decide which of #8005 and this to merge? My feeling is that #8005 looks cleaner, although the parts setting Any merges should wait till after the release now, I guess, based on @pradyunsg's comment. So there's no rush to decide, but we should keep track of stuff awaiting merge as we work through the errors. |
That’s a good idea. My work in #8066 also ends up interlocking with #8005, so getting it in first would definitely help. I guess we should avoid anything related to |
OK, I'm fine with going for #8005 I've not found a case where we need Also - "(easier?) stuff like refining the error message" lol, "easier" isn't the word I'd use! I'll put my thoughts on error messages into Zulip, though, as it's too much for here. |
Seems like #8005 fixes all the failures identified by |
Preliminary fix for the
--no-clean
test error. Before merging this, I'd like to look at whether there is a better way to get the requirement set on theInstallRequirement
we create.We could merge this and refactor later, but I'd rather try to avoid incurring the technical debt of that approach.