diff --git a/pipenv/project.py b/pipenv/project.py index 291607ef..15ade367 100644 --- a/pipenv/project.py +++ b/pipenv/project.py @@ -239,10 +239,11 @@ class Project: if self.sessions.get(source["name"]): session = self.sessions[source["name"]] else: - session = get_requests_session( + session = get_requests_session( self.s.PIPENV_MAX_RETRIES, source.get("verify_ssl", True), cache_dir=self.s.PIPENV_CACHE_DIR, + source=source.get("url"), ) self.sessions[source["name"]] = session return session diff --git a/pipenv/utils/internet.py b/pipenv/utils/internet.py index 77c68302..6ed420c8 100644 --- a/pipenv/utils/internet.py +++ b/pipenv/utils/internet.py @@ -8,10 +8,11 @@ from pipenv.patched.pip._internal.network.download import PipSession from pipenv.patched.pip._vendor.urllib3 import util as urllib3_util -def get_requests_session(max_retries=1, verify_ssl=True, cache_dir=USER_CACHE_DIR): +def get_requests_session(max_retries=1, verify_ssl=True, cache_dir=USER_CACHE_DIR, source=None): """Load requests lazily.""" pip_client_cert = os.environ.get("PIP_CLIENT_CERT") - requests_session = PipSession(cache=cache_dir, retries=max_retries) + index_urls = [source] if source else None + requests_session = PipSession(cache=cache_dir, retries=max_retries, index_urls=index_urls) if pip_client_cert: requests_session.cert = pip_client_cert if verify_ssl is False: