mirror of
https://github.com/kennethreitz/pipenv.git
synced 2026-06-05 22:50:18 +00:00
Add news fragments and final patch for all fixes
- Fixes #2499 - Fixes #2529 - Fixes #2589 - Fixes #2666 - Fixes #2767 - Fixes #2785 - Fixes #2795 - Fixes #2801 - Fixes #2802 - Fixes #2824 - Fixes #2862 - Fixes #2867 - Fixes #2879 - Fixes #2880 - Fixes #2894 - Fixes #2902 - Fixes #2924 Signed-off-by: Dan Ryan <dan@danryan.co>
This commit is contained in:
@@ -0,0 +1 @@
|
||||
Fixed non-deterministic resolution issues related to changes to the internal package finder in ``pip 10``.
|
||||
@@ -0,0 +1 @@
|
||||
Fixed non-deterministic resolution issues related to changes to the internal package finder in ``pip 10``.
|
||||
@@ -0,0 +1 @@
|
||||
Fixed non-deterministic resolution issues related to changes to the internal package finder in ``pip 10``.
|
||||
@@ -0,0 +1 @@
|
||||
Fixed non-deterministic resolution issues related to changes to the internal package finder in ``pip 10``.
|
||||
@@ -0,0 +1 @@
|
||||
Fixed non-deterministic resolution issues related to changes to the internal package finder in ``pip 10``.
|
||||
@@ -0,0 +1 @@
|
||||
Fixed non-deterministic resolution issues related to changes to the internal package finder in ``pip 10``.
|
||||
@@ -0,0 +1 @@
|
||||
Fixed non-deterministic resolution issues related to changes to the internal package finder in ``pip 10``.
|
||||
@@ -0,0 +1 @@
|
||||
Fixed non-deterministic resolution issues related to changes to the internal package finder in ``pip 10``.
|
||||
@@ -0,0 +1,19 @@
|
||||
Updated vendored dependencies:
|
||||
- ``pip-tools`` (updated and patched to latest w/ ``pip 18.0`` compatibilty)
|
||||
- ``pip 10.0.1 => 18.0``
|
||||
- ``click 6.7 => 7.0``
|
||||
- ``toml 0.9.4 => 0.10.0``
|
||||
- ``pyparsing 2.2.0 => 2.2.2``
|
||||
- ``delegator 0.1.0 => 0.1.1``
|
||||
- ``attrs 18.1.0 => 18.2.0``
|
||||
- ``distlib 0.2.7 => 0.2.8``
|
||||
- ``packaging 17.1.0 => 18.0``
|
||||
- ``passa 0.2.0 => 0.3.1``
|
||||
- ``pip_shims 0.1.2 => 0.3.1``
|
||||
- ``plette 0.1.1 => 0.2.2``
|
||||
- ``pythonfinder 1.0.2 => 1.1.0``
|
||||
- ``pytoml 0.1.18 => 0.1.19``
|
||||
- ``requirementslib 1.1.16 => 1.1.17``
|
||||
- ``shellingham 1.2.4 => 1.2.6``
|
||||
- ``tomlkit 0.4.2 => 0.4.4``
|
||||
- ``vistir 0.1.4 => 0.1.6``
|
||||
@@ -0,0 +1 @@
|
||||
Fixed non-deterministic resolution issues related to changes to the internal package finder in ``pip 10``.
|
||||
@@ -0,0 +1 @@
|
||||
Fixed non-deterministic resolution issues related to changes to the internal package finder in ``pip 10``.
|
||||
@@ -0,0 +1,19 @@
|
||||
Updated vendored dependencies:
|
||||
- ``pip-tools`` (updated and patched to latest w/ ``pip 18.0`` compatibilty)
|
||||
- ``pip 10.0.1 => 18.0``
|
||||
- ``click 6.7 => 7.0``
|
||||
- ``toml 0.9.4 => 0.10.0``
|
||||
- ``pyparsing 2.2.0 => 2.2.2``
|
||||
- ``delegator 0.1.0 => 0.1.1``
|
||||
- ``attrs 18.1.0 => 18.2.0``
|
||||
- ``distlib 0.2.7 => 0.2.8``
|
||||
- ``packaging 17.1.0 => 18.0``
|
||||
- ``passa 0.2.0 => 0.3.1``
|
||||
- ``pip_shims 0.1.2 => 0.3.1``
|
||||
- ``plette 0.1.1 => 0.2.2``
|
||||
- ``pythonfinder 1.0.2 => 1.1.0``
|
||||
- ``pytoml 0.1.18 => 0.1.19``
|
||||
- ``requirementslib 1.1.16 => 1.1.17``
|
||||
- ``shellingham 1.2.4 => 1.2.6``
|
||||
- ``tomlkit 0.4.2 => 0.4.4``
|
||||
- ``vistir 0.1.4 => 0.1.6``
|
||||
@@ -0,0 +1 @@
|
||||
Fixed non-deterministic resolution issues related to changes to the internal package finder in ``pip 10``.
|
||||
@@ -0,0 +1,19 @@
|
||||
Updated vendored dependencies:
|
||||
- ``pip-tools`` (updated and patched to latest w/ ``pip 18.0`` compatibilty)
|
||||
- ``pip 10.0.1 => 18.0``
|
||||
- ``click 6.7 => 7.0``
|
||||
- ``toml 0.9.4 => 0.10.0``
|
||||
- ``pyparsing 2.2.0 => 2.2.2``
|
||||
- ``delegator 0.1.0 => 0.1.1``
|
||||
- ``attrs 18.1.0 => 18.2.0``
|
||||
- ``distlib 0.2.7 => 0.2.8``
|
||||
- ``packaging 17.1.0 => 18.0``
|
||||
- ``passa 0.2.0 => 0.3.1``
|
||||
- ``pip_shims 0.1.2 => 0.3.1``
|
||||
- ``plette 0.1.1 => 0.2.2``
|
||||
- ``pythonfinder 1.0.2 => 1.1.0``
|
||||
- ``pytoml 0.1.18 => 0.1.19``
|
||||
- ``requirementslib 1.1.16 => 1.1.17``
|
||||
- ``shellingham 1.2.4 => 1.2.6``
|
||||
- ``tomlkit 0.4.2 => 0.4.4``
|
||||
- ``vistir 0.1.4 => 0.1.6``
|
||||
@@ -0,0 +1 @@
|
||||
Fixed non-deterministic resolution issues related to changes to the internal package finder in ``pip 10``.
|
||||
@@ -0,0 +1,19 @@
|
||||
Updated vendored dependencies:
|
||||
- ``pip-tools`` (updated and patched to latest w/ ``pip 18.0`` compatibilty)
|
||||
- ``pip 10.0.1 => 18.0``
|
||||
- ``click 6.7 => 7.0``
|
||||
- ``toml 0.9.4 => 0.10.0``
|
||||
- ``pyparsing 2.2.0 => 2.2.2``
|
||||
- ``delegator 0.1.0 => 0.1.1``
|
||||
- ``attrs 18.1.0 => 18.2.0``
|
||||
- ``distlib 0.2.7 => 0.2.8``
|
||||
- ``packaging 17.1.0 => 18.0``
|
||||
- ``passa 0.2.0 => 0.3.1``
|
||||
- ``pip_shims 0.1.2 => 0.3.1``
|
||||
- ``plette 0.1.1 => 0.2.2``
|
||||
- ``pythonfinder 1.0.2 => 1.1.0``
|
||||
- ``pytoml 0.1.18 => 0.1.19``
|
||||
- ``requirementslib 1.1.16 => 1.1.17``
|
||||
- ``shellingham 1.2.4 => 1.2.6``
|
||||
- ``tomlkit 0.4.2 => 0.4.4``
|
||||
- ``vistir 0.1.4 => 0.1.6``
|
||||
@@ -0,0 +1 @@
|
||||
Fixed various bugs related to ``pip 18.1`` release which prevented locking, installation, and syncing, and dumping to a ``requirements.txt`` file.
|
||||
@@ -0,0 +1 @@
|
||||
Fixed non-deterministic resolution issues related to changes to the internal package finder in ``pip 10``.
|
||||
@@ -0,0 +1,19 @@
|
||||
Updated vendored dependencies:
|
||||
- ``pip-tools`` (updated and patched to latest w/ ``pip 18.0`` compatibilty)
|
||||
- ``pip 10.0.1 => 18.0``
|
||||
- ``click 6.7 => 7.0``
|
||||
- ``toml 0.9.4 => 0.10.0``
|
||||
- ``pyparsing 2.2.0 => 2.2.2``
|
||||
- ``delegator 0.1.0 => 0.1.1``
|
||||
- ``attrs 18.1.0 => 18.2.0``
|
||||
- ``distlib 0.2.7 => 0.2.8``
|
||||
- ``packaging 17.1.0 => 18.0``
|
||||
- ``passa 0.2.0 => 0.3.1``
|
||||
- ``pip_shims 0.1.2 => 0.3.1``
|
||||
- ``plette 0.1.1 => 0.2.2``
|
||||
- ``pythonfinder 1.0.2 => 1.1.0``
|
||||
- ``pytoml 0.1.18 => 0.1.19``
|
||||
- ``requirementslib 1.1.16 => 1.1.17``
|
||||
- ``shellingham 1.2.4 => 1.2.6``
|
||||
- ``tomlkit 0.4.2 => 0.4.4``
|
||||
- ``vistir 0.1.4 => 0.1.6``
|
||||
@@ -277,7 +277,7 @@ class PyPIRepository(BaseRepository):
|
||||
'isolated': False,
|
||||
'wheel_cache': wheel_cache,
|
||||
'use_user_site': False,
|
||||
'ignore_compatibility': True
|
||||
'ignore_compatibility': False
|
||||
}
|
||||
resolver = None
|
||||
preparer = None
|
||||
@@ -292,7 +292,10 @@ class PyPIRepository(BaseRepository):
|
||||
# reqset.add_requirement(ireq)
|
||||
resolver = PipResolver(**resolver_kwargs)
|
||||
resolver.require_hashes = False
|
||||
results = resolver._resolve_one(reqset, ireq)
|
||||
try:
|
||||
results = resolver._resolve_one(reqset, ireq)
|
||||
except InstallationError:
|
||||
pass
|
||||
reqset.cleanup_files()
|
||||
|
||||
if ireq.editable and (ireq.source_dir and os.path.exists(ireq.source_dir)):
|
||||
|
||||
@@ -74,7 +74,7 @@ index 08dabe1..480ad1e 100644
|
||||
else:
|
||||
return self.repository.find_best_match(ireq, prereleases)
|
||||
diff --git a/pipenv/patched/piptools/repositories/pypi.py b/pipenv/patched/piptools/repositories/pypi.py
|
||||
index bf69803..eb20560 100644
|
||||
index bf69803..163d510 100644
|
||||
--- a/pipenv/patched/piptools/repositories/pypi.py
|
||||
+++ b/pipenv/patched/piptools/repositories/pypi.py
|
||||
@@ -1,7 +1,7 @@
|
||||
@@ -100,7 +100,7 @@ index bf69803..eb20560 100644
|
||||
+from packaging.requirements import Requirement
|
||||
+from packaging.specifiers import SpecifierSet, Specifier
|
||||
+from packaging.markers import Op, Value, Variable, Marker
|
||||
+InstallationError = do_import(("InstallationError", "exceptions.InstallationError", "7.0", "9999"))
|
||||
+InstallationError = do_import(("exceptions.InstallationError", "7.0", "9999"))
|
||||
+from notpip._internal.resolve import Resolver as PipResolver
|
||||
+
|
||||
|
||||
@@ -221,8 +221,7 @@ index bf69803..eb20560 100644
|
||||
+ def gen(ireq):
|
||||
+ if self.DEFAULT_INDEX_URL not in self.finder.index_urls:
|
||||
+ return
|
||||
|
||||
- def resolve_reqs(self, download_dir, ireq, wheel_cache):
|
||||
+
|
||||
+ url = 'https://pypi.org/pypi/{0}/json'.format(ireq.req.name)
|
||||
+ releases = self.session.get(url).json()['releases']
|
||||
+
|
||||
@@ -251,7 +250,8 @@ index bf69803..eb20560 100644
|
||||
+ try:
|
||||
+ if ireq not in self._json_dep_cache:
|
||||
+ self._json_dep_cache[ireq] = [g for g in gen(ireq)]
|
||||
+
|
||||
|
||||
- def resolve_reqs(self, download_dir, ireq, wheel_cache):
|
||||
+ return set(self._json_dep_cache[ireq])
|
||||
+ except Exception:
|
||||
+ return set()
|
||||
@@ -296,13 +296,7 @@ index bf69803..eb20560 100644
|
||||
else:
|
||||
# pip >= 10
|
||||
preparer_kwargs = {
|
||||
@@ -153,19 +264,20 @@ class PyPIRepository(BaseRepository):
|
||||
'download_dir': download_dir,
|
||||
'wheel_download_dir': self._wheel_download_dir,
|
||||
'progress_bar': 'off',
|
||||
'build_isolation': False
|
||||
}
|
||||
resolver_kwargs = {
|
||||
@@ -159,13 +270,14 @@ class PyPIRepository(BaseRepository):
|
||||
'finder': self.finder,
|
||||
'session': self.session,
|
||||
'upgrade_strategy': "to-satisfy-only",
|
||||
@@ -320,7 +314,7 @@ index bf69803..eb20560 100644
|
||||
}
|
||||
resolver = None
|
||||
preparer = None
|
||||
@@ -177,15 +289,98 @@ class PyPIRepository(BaseRepository):
|
||||
@@ -177,15 +289,101 @@ class PyPIRepository(BaseRepository):
|
||||
resolver_kwargs['preparer'] = preparer
|
||||
reqset = RequirementSet()
|
||||
ireq.is_direct = True
|
||||
@@ -328,7 +322,11 @@ index bf69803..eb20560 100644
|
||||
+ # reqset.add_requirement(ireq)
|
||||
resolver = PipResolver(**resolver_kwargs)
|
||||
resolver.require_hashes = False
|
||||
results = resolver._resolve_one(reqset, ireq)
|
||||
- results = resolver._resolve_one(reqset, ireq)
|
||||
+ try:
|
||||
+ results = resolver._resolve_one(reqset, ireq)
|
||||
+ except InstallationError:
|
||||
+ pass
|
||||
reqset.cleanup_files()
|
||||
|
||||
- return set(results)
|
||||
@@ -422,7 +420,7 @@ index bf69803..eb20560 100644
|
||||
"""
|
||||
Given a pinned or an editable InstallRequirement, returns a set of
|
||||
dependencies (also InstallRequirements, but not necessarily pinned).
|
||||
@@ -200,6 +395,7 @@ class PyPIRepository(BaseRepository):
|
||||
@@ -200,6 +398,7 @@ class PyPIRepository(BaseRepository):
|
||||
# If a download_dir is passed, pip will unnecessarely
|
||||
# archive the entire source directory
|
||||
download_dir = None
|
||||
@@ -430,7 +428,7 @@ index bf69803..eb20560 100644
|
||||
elif ireq.link and not ireq.link.is_artifact:
|
||||
# No download_dir for VCS sources. This also works around pip
|
||||
# using git-checkout-index, which gets rid of the .git dir.
|
||||
@@ -214,7 +410,8 @@ class PyPIRepository(BaseRepository):
|
||||
@@ -214,7 +413,8 @@ class PyPIRepository(BaseRepository):
|
||||
wheel_cache = WheelCache(CACHE_DIR, self.pip_options.format_control)
|
||||
prev_tracker = os.environ.get('PIP_REQ_TRACKER')
|
||||
try:
|
||||
@@ -440,7 +438,7 @@ index bf69803..eb20560 100644
|
||||
finally:
|
||||
if 'PIP_REQ_TRACKER' in os.environ:
|
||||
if prev_tracker:
|
||||
@@ -236,6 +433,10 @@ class PyPIRepository(BaseRepository):
|
||||
@@ -236,6 +436,10 @@ class PyPIRepository(BaseRepository):
|
||||
if ireq.editable:
|
||||
return set()
|
||||
|
||||
@@ -451,7 +449,7 @@ index bf69803..eb20560 100644
|
||||
if not is_pinned_requirement(ireq):
|
||||
raise TypeError(
|
||||
"Expected pinned requirement, got {}".format(ireq))
|
||||
@@ -243,24 +444,22 @@ class PyPIRepository(BaseRepository):
|
||||
@@ -243,24 +447,22 @@ class PyPIRepository(BaseRepository):
|
||||
# We need to get all of the candidates that match our current version
|
||||
# pin, these will represent all of the files that could possibly
|
||||
# satisfy this constraint.
|
||||
|
||||
Reference in New Issue
Block a user