Skip to content

Move Downloader construction out of RequirementPreparer #7441

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

Merged
merged 2 commits into from
Dec 6, 2019
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 5 additions & 2 deletions src/pip/_internal/cli/req_command.py
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@
from pip._internal.index.package_finder import PackageFinder
from pip._internal.legacy_resolve import Resolver
from pip._internal.models.selection_prefs import SelectionPreferences
from pip._internal.network.download import Downloader
from pip._internal.network.session import PipSession
from pip._internal.operations.prepare import RequirementPreparer
from pip._internal.req.constructors import (
Expand Down Expand Up @@ -162,17 +163,19 @@ def make_requirement_preparer(
"""
Create a RequirementPreparer instance for the given parameters.
"""
downloader = Downloader(session, progress_bar=options.progress_bar)

temp_build_dir_path = temp_build_dir.path
assert temp_build_dir_path is not None

return RequirementPreparer(
build_dir=temp_build_dir_path,
src_dir=options.src_dir,
download_dir=download_dir,
wheel_download_dir=wheel_download_dir,
progress_bar=options.progress_bar,
build_isolation=options.build_isolation,
req_tracker=req_tracker,
session=session,
downloader=downloader,
finder=finder,
require_hashes=options.require_hashes,
use_user_site=use_user_site,
Expand Down
8 changes: 3 additions & 5 deletions src/pip/_internal/operations/prepare.py
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,6 @@
PreviousBuildDirError,
VcsHashUnsupported,
)
from pip._internal.network.download import Downloader
from pip._internal.utils.compat import expanduser
from pip._internal.utils.filesystem import copy2_fixed
from pip._internal.utils.hashes import MissingHashes
Expand Down Expand Up @@ -56,7 +55,7 @@
from pip._internal.distributions import AbstractDistribution
from pip._internal.index.package_finder import PackageFinder
from pip._internal.models.link import Link
from pip._internal.network.session import PipSession
from pip._internal.network.download import Downloader
from pip._internal.req.req_install import InstallRequirement
from pip._internal.req.req_tracker import RequirementTracker
from pip._internal.utils.hashes import Hashes
Expand Down Expand Up @@ -359,10 +358,9 @@ def __init__(
download_dir, # type: Optional[str]
src_dir, # type: str
wheel_download_dir, # type: Optional[str]
progress_bar, # type: str
build_isolation, # type: bool
req_tracker, # type: RequirementTracker
session, # type: PipSession
downloader, # type: Downloader
finder, # type: PackageFinder
require_hashes, # type: bool
use_user_site, # type: bool
Expand All @@ -373,7 +371,7 @@ def __init__(
self.src_dir = src_dir
self.build_dir = build_dir
self.req_tracker = req_tracker
self.downloader = Downloader(session, progress_bar)
self.downloader = downloader
self.finder = finder

# Where still-packed archives should be written to. If None, they are
Expand Down
2 changes: 1 addition & 1 deletion tests/unit/test_operations_prepare.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,9 @@

from pip._internal.exceptions import HashMismatch
from pip._internal.models.link import Link
from pip._internal.network.download import Downloader
from pip._internal.network.session import PipSession
from pip._internal.operations.prepare import (
Downloader,
_copy_source_tree,
_download_http_url,
unpack_file_url,
Expand Down
4 changes: 2 additions & 2 deletions tests/unit/test_req.py
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@
PreviousBuildDirError,
)
from pip._internal.legacy_resolve import Resolver
from pip._internal.network.download import Downloader
from pip._internal.network.session import PipSession
from pip._internal.operations.prepare import RequirementPreparer
from pip._internal.req import InstallRequirement, RequirementSet
Expand Down Expand Up @@ -77,10 +78,9 @@ def _basic_resolver(self, finder, require_hashes=False):
src_dir=os.path.join(self.tempdir, 'src'),
download_dir=None,
wheel_download_dir=None,
progress_bar="on",
build_isolation=True,
req_tracker=tracker,
session=PipSession(),
downloader=Downloader(PipSession(), progress_bar="on"),
finder=finder,
require_hashes=require_hashes,
use_user_site=False,
Expand Down