Skip to content

Commit 7eca891

Browse files
committed
Improve documentation for in-place builds
1 parent a0bead2 commit 7eca891

File tree

2 files changed

+16
-17
lines changed

2 files changed

+16
-17
lines changed

docs/html/reference/pip_install.rst

Lines changed: 14 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -723,19 +723,25 @@ local hash.
723723

724724
Local project installs
725725
----------------------
726+
726727
pip supports installing local project in both regular mode and editable mode.
727728
You can install local projects by specifying the project path to pip::
728729

729730
$ pip install path/to/SomeProject
730731

731-
Until version 20.0, pip copied the entire project directory to a temporary
732-
location and installed from there. This approach was the cause of several
733-
performance and correctness issues. As of version 20.1 pip installs from the
734-
local project directory. Depending on the build backend used by the project,
735-
this may generate secondary build artifacts in the project directory, such as
736-
the ``.egg-info`` and ``build`` directories in the case of the setuptools
737-
backend.
738-
732+
pip generates a wheel distribution for the directory provided, that it uses
733+
to perform the installation. It may fall back to using ``setup.py install``
734+
if it is unable to generate a wheel distribution from the directory.
735+
736+
Prior to pip 20.1, pip copied the entire project directory to a temporary
737+
location and attempted to generate the distribution from that directory.
738+
This approach was the cause of several performance issues, as well as various
739+
issues arising when the python project directory depends on its parent
740+
directory (such as the presence of a VCS directory). The main user visible
741+
effect of this change is that secondary build artifacts, if any, would be
742+
created in the local directory, whereas earlier they were created in a
743+
temporary copy of the directory and then deleted. This notably includes the
744+
``build`` and ``.egg-info`` directories in the case of the setuptools backend.
739745

740746
.. _`editable-installs`:
741747

news/7555.removal

Lines changed: 2 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,2 @@
1-
Building of local directories is now done in place. Previously pip did copy the
2-
local directory tree to a temporary location before building. That approach had
3-
a number of drawbacks, among which performance issues, as well as various
4-
issues arising when the python project directory depends on its parent
5-
directory (such as the presence of a VCS directory). The user visible effect of
6-
this change is that secondary build artifacts, if any, may therefore be created
7-
in the local directory, whereas before they were created in a temporary copy of
8-
the directory and then deleted. This notably includes the ``build`` and
9-
``.egg-info`` directories in the case of the setuptools build backend.
1+
Building of local directories is now done in place, instead of a temporary
2+
location containing a copy of the directory tree.

0 commit comments

Comments
 (0)