Other parts of pip (for example, when feeding the pip freeze result back Migration to tadata, since the underscore-dash normalizationīehavior is non-standard and specific to setuptools. Pip freeze, pip list, and pip show no longer normalize underscore The source distribution re-installation feature removal has been delayed to 21.3. New resolver: When a package is specified with extras in constraints, and withĮxtras in non-constraint requirements, the resolver now correctly identifies theĬonstraint’s existence and avoids backtracking. Modify the sysconfig.get_preferred_scheme function check to beĬompatible with CPython 3.10’s alphareleases. ( #10497)įix 3.6.0 compatibility in link comparison logic. ( #10430)Ĭreate a “Build System Interface” reference section, for documenting how pip interacts with build systems. The Simple Repository link now points to PyPUG as that is the canonical place of packaging specification, and setuptools’s easy_install is deprecated.
Update links of setuptools as setuptools moved these documents.
Patch pkg_resources to use platformdirs rather than appdirs.Īdd platformdirs as a vendored dependency. ( #10482)Ĭorrectly indent metadata preparation messages in pip output. a dependency 2 levels deep will be ordered before a dependecy 3 levels deep. New resolver: Fixes depth ordering of packages during resolution, e.g. ( #10269)įix double unescape of HTML data-requires-python and data-yanked attributes.
The index url contains the username, but the password comesįrom an external source, such as keyring. ( #10263)įix the auth credential cache to allow for the case in which Present a better error message, when a file: URL is not found. If a host is explicitly specified as trusted by the user (via the -trusted-host option), cache HTTP responses from it in addition to HTTPS ones. This is primarily to aid with debugging pip’s crashes. ( #9086)Īdd a -debug flag, to enable a mode that doesn’t log errors and propagates them to the top level instead. When a revision is specified in a Git URL, use git’s partial clone feature to speed up source retrieval. Support editable installs for projects that have a pyproject.toml and use aīuild backend that supports PEP 660. ( #10479)Ĭache requirement objects, to improve performance reducing reparses of requirement strings. This can significantly reduce the amount of backtracking required. When backtracking during dependency resolution, prefer the dependencies which are involved in the most recent conflict. Instead log a warning and continue (to log that we removed 0 files). ( #10422)ĭo not raise error when there are no files to remove with pip cache purge/remove. Pip show now sorts Requires and Required-By alphabetically. Before, it sometimes reported the requirement as non-editable. Location when it encounters a VCS error while analyzing an editable Pip freeze will now always fallback to reporting the editable project Has a new Editable project location column, and the JSON output has a newĮditable_project_location field.
( #10202)Įditable installs in pip freeze and pip list. Replace vendored appdirs with platformdirs. Un-deprecate source distribution re-installation behaviour. use-deprecated=out-of-tree-build may be used temporarily to ease Remove the -build-dir option and aliases, one last time. Installations running on Python 3.9 or lower will continue to use distutils. This is to anticipate the deprecation of distutils in Pythonģ.10, and its scheduled removal in 3.12. On Python 3.10 or later, the installation scheme backend has been changed to use Tree, so ensurepip does not emit warnings on CPython make install. Suppress location mismatch warnings when pip is invoked from a Python source Improve deprecation warning regarding the copying of source trees when installing from a local directory. Restore compatibility of where configuration files are loaded from on MacOS (back to Library/Application Support/pip, instead of Preferences/pip). Installing projects that only have a setup.cfg and no setup.py nor Prepare_metadata_for_build_wheel instead of setup.py egg_info. When installing projects with a pyproject.toml in editable mode, and the buildīackend does not support PEP 660, prepare metadata using Tweak running-as-root detection, to check os.getuid if it exists, on Unix-y and non-Linux/non-MacOS machines. 21.3.1 () ¶ Bug Fixes ¶Īlways refuse installing or building projects that have no pyproject.toml nor Major and minor releases of pip also include changes listed within