blob: 2d28246f8d482b60ce0e1b1d2e6b95d72b601951 [file] [log] [blame]
Vinay Sajip4126a7d2012-05-29 12:52:14 +01001.. _tools-and-scripts:
2
3Additional Tools and Scripts
4============================
5
6pyvenv - Creating virtual environments
7--------------------------------------
8
9Creation of virtual environments is done by executing the ``pyvenv``
10script::
11
12 pyvenv /path/to/new/virtual/environment
13
14Running this command creates the target directory (creating any parent
15directories that don't exist already) and places a ``pyvenv.cfg`` file
16in it with a ``home`` key pointing to the Python installation the
17command was run from. It also creates a ``bin`` (or ``Scripts`` on
18Windows) subdirectory containing a copy of the ``python`` binary (or
Éric Araujo859aad62012-06-24 00:07:41 -040019binaries, in the case of Windows).
Vinay Sajip4126a7d2012-05-29 12:52:14 +010020It also creates an (initially empty) ``lib/pythonX.Y/site-packages``
21subdirectory (on Windows, this is ``Lib\site-packages``).
22
23.. highlight:: none
24
25On Windows, you may have to invoke the ``pyvenv`` script as follows, if you
26don't have the relevant PATH and PATHEXT settings::
27
28 c:\Temp>c:\Python33\python c:\Python33\Tools\Scripts\pyvenv.py myenv
29
30or equivalently::
31
32 c:\Temp>c:\Python33\python -m venv myenv
33
34The command, if run with ``-h``, will show the available options::
35
36 usage: pyvenv [-h] [--system-site-packages] [--symlink] [--clear]
37 [--upgrade] ENV_DIR [ENV_DIR ...]
38
39 Creates virtual Python environments in one or more target directories.
40
41 positional arguments:
42 ENV_DIR A directory to create the environment in.
43
44 optional arguments:
45 -h, --help show this help message and exit
46 --system-site-packages Give access to the global site-packages dir to the
47 virtual environment.
48 --symlink Attempt to symlink rather than copy.
49 --clear Delete the environment directory if it already exists.
50 If not specified and the directory exists, an error is
51 raised.
52 --upgrade Upgrade the environment directory to use this version
53 of Python, assuming Python has been upgraded in-place.
54
55If the target directory already exists an error will be raised, unless
56the ``--clear`` or ``--upgrade`` option was provided.
57
58The created ``pyvenv.cfg`` file also includes the
59``include-system-site-packages`` key, set to ``true`` if ``venv`` is
60run with the ``--system-site-packages`` option, ``false`` otherwise.
61
62Multiple paths can be given to ``pyvenv``, in which case an identical
63virtualenv will be created, according to the given options, at each
64provided path.
65