From 756b02f712c4798b388f0f206d6b9a9c402893d3 Mon Sep 17 00:00:00 2001 From: Pradyun Gedam Date: Mon, 20 Apr 2020 02:02:02 +0530 Subject: [PATCH] Improve documentation for in-place builds --- docs/html/reference/pip_install.rst | 21 +++++++++++++-------- news/7555.removal | 11 ++--------- 2 files changed, 15 insertions(+), 17 deletions(-) diff --git a/docs/html/reference/pip_install.rst b/docs/html/reference/pip_install.rst index 56b16781e6b..6601ad865fa 100644 --- a/docs/html/reference/pip_install.rst +++ b/docs/html/reference/pip_install.rst @@ -723,19 +723,24 @@ local hash. Local project installs ---------------------- + pip supports installing local project in both regular mode and editable mode. You can install local projects by specifying the project path to pip:: $ pip install path/to/SomeProject -Until version 20.0, pip copied the entire project directory to a temporary -location and installed from there. This approach was the cause of several -performance and correctness issues. As of version 20.1 pip installs from the -local project directory. Depending on the build backend used by the project, -this may generate secondary build artifacts in the project directory, such as -the ``.egg-info`` and ``build`` directories in the case of the setuptools -backend. - +pip treats this directory like an unpacked source archive, and directly +attempts installation. + +Prior to pip 20.1, pip copied the entire project directory to a temporary +location and attempted installation from that directory. This approach was the +cause of several performance issues, as well as various issues arising when the +project directory depends on its parent directory (such as the presence of a +VCS directory). The main user visible effect of this change is that secondary +build artifacts, if any, would be created in the local directory, whereas +earlier they were created in a temporary copy of the directory and then +deleted. This notably includes the ``build`` and ``.egg-info`` directories in +the case of the setuptools backend. .. _`editable-installs`: diff --git a/news/7555.removal b/news/7555.removal index 2f5747f17d4..34a009ec8f2 100644 --- a/news/7555.removal +++ b/news/7555.removal @@ -1,9 +1,2 @@ -Building of local directories is now done in place. Previously pip did copy the -local directory tree to a temporary location before building. That approach had -a number of drawbacks, among which performance issues, as well as various -issues arising when the python project directory depends on its parent -directory (such as the presence of a VCS directory). The user visible effect of -this change is that secondary build artifacts, if any, may therefore be created -in the local directory, whereas before they were created in a temporary copy of -the directory and then deleted. This notably includes the ``build`` and -``.egg-info`` directories in the case of the setuptools build backend. +Building of local directories is now done in place, instead of a temporary +location containing a copy of the directory tree.