diff --git a/pipenv/vendor/requirementslib/models/setup_info.py b/pipenv/vendor/requirementslib/models/setup_info.py index 772a4d81..5e683f47 100644 --- a/pipenv/vendor/requirementslib/models/setup_info.py +++ b/pipenv/vendor/requirementslib/models/setup_info.py @@ -13,7 +13,7 @@ import sys from collections.abc import Iterable, Mapping from functools import lru_cache, partial from pathlib import Path -from urllib.parse import urlparse, urlunparse +from urllib.parse import urlparse, urlunparse, parse_qs from weakref import finalize import pipenv.vendor.attr as attr @@ -1230,8 +1230,15 @@ build-backend = "{1}" ) ) need_delete = True + + parsed = urlparse(str(self.ireq.link)) + subdir = parse_qs(parsed.fragment).get('subdirectory', []) + if subdir: + directory = f"{self.base_dir}/{subdir[0]}" + else: + directory = self.base_dir result = build_pep517( - self.base_dir, + directory, self.extra_kwargs["build_dir"], config_settings=self.pep517_config, dist_type="wheel",