From 0d584d76bb3c47e2acdc9b282058eae742f87c22 Mon Sep 17 00:00:00 2001 From: Vinay Sajip Date: Sat, 16 Sep 2023 09:49:02 +0100 Subject: [PATCH] gh-109414: Add some basic information about venvs in the introduction. (GH-109440) (cherry picked from commit a6846d45ff3c836bc859c40e7684b57df991dc05) Co-authored-by: Vinay Sajip Co-authored-by: Victor Stinner --- Doc/library/venv.rst | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/Doc/library/venv.rst b/Doc/library/venv.rst index 0b9787d095d9ad..f66e874d09f31d 100644 --- a/Doc/library/venv.rst +++ b/Doc/library/venv.rst @@ -30,6 +30,25 @@ When used from within a virtual environment, common installation tools such as `pip`_ will install Python packages into a virtual environment without needing to be told to do so explicitly. +A virtual environment is (amongst other things): + +* Used to contain a specific Python interpreter and software libraries and + binaries which are needed to support a project (library or application). These + are by default isolated from software in other virtual environments and Python + interpreters and libraries installed in the operating system. + +* Contained in a directory, conventionally either named ``venv`` or ``.venv`` in + the project directory, or under a container directory for lots of virtual + environments, such as ``~/.virtualenvs``. + +* Not checked into source control systems such as Git. + +* Considered as disposable -- it should be simple to delete and recreate it from + scratch. You don't place any project code in the environment + +* Not considered as movable or copyable -- you just recreate the same + environment in the target location. + See :pep:`405` for more background on Python virtual environments. .. seealso::