]> granicus.if.org Git - python/commitdiff
Issue #18939: Updated venv documentation with some clarifications.
authorVinay Sajip <vinay_sajip@yahoo.co.uk>
Fri, 6 Sep 2013 08:50:43 +0000 (09:50 +0100)
committerVinay Sajip <vinay_sajip@yahoo.co.uk>
Fri, 6 Sep 2013 08:50:43 +0000 (09:50 +0100)
Doc/library/venv.rst

index 80c75c22c4675c188536d39d55d8a9e59bf32324..28962d39934d0216c00472d363e22d2b3c164288 100644 (file)
@@ -21,6 +21,7 @@ site directories.  Each virtual environment has its own Python binary (allowing
 creation of environments with various Python versions) and can have its own
 independent set of installed Python packages in its site directories.
 
+See :pep:`405` for more information about Python virtual environments.
 
 Creating virtual environments
 -----------------------------
@@ -61,6 +62,19 @@ Creating virtual environments
    ignored from all distutils configuration files to prevent projects being
    inadvertently installed outside of the virtual environment.
 
+   When working in a command shell, users can make a venv active by running an
+   ``activate`` script in the venv's executables directory (the precise filename
+   is shell-dependent), which prepends the venv's directory for executables to
+   the ``PATH`` environment variable for the running shell. There should be no
+   need in other circumstances to activate a venv -- scripts installed into
+   venvs have a shebang line which points to the venv's Python interpreter. This
+   means that the script will run with that interpreter regardless of the value
+   of ``PATH``. On Windows, shebang line processing is supported if you have the
+   Python Launcher for Windows installed (this was added to Python in 3.3 - see
+   :pep:`397` for more details). Thus, double-clicking an installed script in
+   a Windows Explorer window should run the script with the correct interpreter
+   without there needing to be any reference to its venv in ``PATH``.
+
 
 API
 ---