-
Notifications
You must be signed in to change notification settings - Fork 3.1k
Open
Labels
type: refactorRefactoring codeRefactoring code
Description
What's the problem this feature will solve?
For pip download
and pip wheel
, pip copies downloaded files to the output directory while it is doing preparation of requirements here.
Pulling this logic out of operations.prepare
will allow us more flexibility to implement the new resolver without breaking pip download
or pip wheel
, because:
- we will not be obligated to re-use
RequirementPreparer
in order to have files downloaded - we will not have to implement the same functionality in new objects collaborating to do the new dependency resolution
Describe the solution you'd like
Do what the code here is doing, except in pip._internal.commands.DownloadCommand
and pip._internal.commands.WheelCommand
.
Alternative Solutions
- Keep the logic for downloads in
RequirementPreparer
- sinceRequirementPreparer
is so tightly coupled toResolver
we are unlikely to use it for the new resolver, so we would need to worry about reimplementing this logic
Additional context
pradyunsg
Metadata
Metadata
Assignees
Labels
type: refactorRefactoring codeRefactoring code