Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(161)

Side by Side Diff: bootstrap/virtualenv/docs/reference.rst

Issue 1407953011: Re-land: Removed virtualenv from depot_tools (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/tools/depot_tools
Patch Set: Re-added files that were present before virtualenv Created 5 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « bootstrap/virtualenv/docs/make.bat ('k') | bootstrap/virtualenv/docs/userguide.rst » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
1 Reference Guide
2 ===============
3
4 ``virtualenv`` Command
5 ----------------------
6
7 .. _usage:
8
9 Usage
10 ~~~~~
11
12 :command:`virtualenv [OPTIONS] ENV_DIR`
13
14 Where ``ENV_DIR`` is an absolute or relative path to a directory to create
15 the virtual environment in.
16
17 .. _options:
18
19 Options
20 ~~~~~~~
21
22 .. program: virtualenv
23
24 .. option:: --version
25
26 show program's version number and exit
27
28 .. option:: -h, --help
29
30 show this help message and exit
31
32 .. option:: -v, --verbose
33
34 Increase verbosity.
35
36 .. option:: -q, --quiet
37
38 Decrease verbosity.
39
40 .. option:: -p PYTHON_EXE, --python=PYTHON_EXE
41
42 The Python interpreter to use, e.g.,
43 --python=python2.5 will use the python2.5 interpreter
44 to create the new environment. The default is the
45 interpreter that virtualenv was installed with
46 (like ``/usr/bin/python``)
47
48 .. option:: --clear
49
50 Clear out the non-root install and start from scratch.
51
52 .. option:: --system-site-packages
53
54 Give the virtual environment access to the global
55 site-packages.
56
57 .. option:: --always-copy
58
59 Always copy files rather than symlinking.
60
61 .. option:: --relocatable
62
63 Make an EXISTING virtualenv environment relocatable.
64 This fixes up scripts and makes all .pth files relative.
65
66 .. option:: --unzip-setuptools
67
68 Unzip Setuptools when installing it.
69
70 .. option:: --no-setuptools
71
72 Do not install setuptools (or pip) in the new
73 virtualenv.
74
75 .. option:: --no-pip
76
77 Do not install pip in the new virtualenv.
78
79 .. option:: --extra-search-dir=DIR
80
81 Directory to look for setuptools/pip distributions in.
82 This option can be specified multiple times.
83
84 .. option:: --prompt=PROMPT
85
86 Provides an alternative prompt prefix for this
87 environment.
88
89 .. option:: --never-download
90
91 DEPRECATED. Retained only for backward compatibility.
92 This option has no effect. Virtualenv never downloads
93 pip or setuptools.
94
95 .. option:: --no-site-packages
96
97 DEPRECATED. Retained only for backward compatibility.
98 Not having access to global site-packages is now the
99 default behavior.
100
101 .. option:: --distribute
102 .. option:: --setuptools
103
104 Legacy; now have no effect. Before version 1.10 these could be used
105 to choose whether to install Distribute_ or Setuptools_ into the created
106 virtualenv. Distribute has now been merged into Setuptools, and the
107 latter is always installed.
108
109 .. _Distribute: https://pypi.python.org/pypi/distribute
110 .. _Setuptools: https://pypi.python.org/pypi/setuptools
111
112
113 Configuration
114 -------------
115
116 Environment Variables
117 ~~~~~~~~~~~~~~~~~~~~~
118
119 Each command line option is automatically used to look for environment
120 variables with the name format ``VIRTUALENV_<UPPER_NAME>``. That means
121 the name of the command line options are capitalized and have dashes
122 (``'-'``) replaced with underscores (``'_'``).
123
124 For example, to automatically use a custom Python binary instead of the
125 one virtualenv is run with you can also set an environment variable::
126
127 $ export VIRTUALENV_PYTHON=/opt/python-3.3/bin/python
128 $ virtualenv ENV
129
130 It's the same as passing the option to virtualenv directly::
131
132 $ virtualenv --python=/opt/python-3.3/bin/python ENV
133
134 This also works for appending command line options, like ``--find-links``.
135 Just leave an empty space between the passed values, e.g.::
136
137 $ export VIRTUALENV_EXTRA_SEARCH_DIR="/path/to/dists /path/to/other/dists"
138 $ virtualenv ENV
139
140 is the same as calling::
141
142 $ virtualenv --extra-search-dir=/path/to/dists --extra-search-dir=/path/to/oth er/dists ENV
143
144 .. envvar:: VIRTUAL_ENV_DISABLE_PROMPT
145
146 Any virtualenv created when this is set to a non-empty value will not have
147 it's :ref:`activate` modify the shell prompt.
148
149
150 Configuration File
151 ~~~~~~~~~~~~~~~~~~
152
153 virtualenv also looks for a standard ini config file. On Unix and Mac OS X
154 that's ``$HOME/.virtualenv/virtualenv.ini`` and on Windows, it's
155 ``%APPDATA%\virtualenv\virtualenv.ini``.
156
157 The names of the settings are derived from the long command line option,
158 e.g. the option :option:`--python <-p>` would look like this::
159
160 [virtualenv]
161 python = /opt/python-3.3/bin/python
162
163 Appending options like :option:`--extra-search-dir` can be written on multiple
164 lines::
165
166 [virtualenv]
167 extra-search-dir =
168 /path/to/dists
169 /path/to/other/dists
170
171 Please have a look at the output of :option:`--help <-h>` for a full list
172 of supported options.
173
174
175 Extending Virtualenv
176 --------------------
177
178
179 Creating Your Own Bootstrap Scripts
180 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
181
182 While this creates an environment, it doesn't put anything into the
183 environment. Developers may find it useful to distribute a script
184 that sets up a particular environment, for example a script that
185 installs a particular web application.
186
187 To create a script like this, call
188 :py:func:`virtualenv.create_bootstrap_script`, and write the
189 result to your new bootstrapping script.
190
191 .. py:function:: create_bootstrap_script(extra_text)
192
193 Creates a bootstrap script from ``extra_text``, which is like
194 this script but with extend_parser, adjust_options, and after_install hooks.
195
196 This returns a string that (written to disk of course) can be used
197 as a bootstrap script with your own customizations. The script
198 will be the standard virtualenv.py script, with your extra text
199 added (your extra text should be Python code).
200
201 If you include these functions, they will be called:
202
203 .. py:function:: extend_parser(optparse_parser)
204
205 You can add or remove options from the parser here.
206
207 .. py:function:: adjust_options(options, args)
208
209 You can change options here, or change the args (if you accept
210 different kinds of arguments, be sure you modify ``args`` so it is
211 only ``[DEST_DIR]``).
212
213 .. py:function:: after_install(options, home_dir)
214
215 After everything is installed, this function is called. This
216 is probably the function you are most likely to use. An
217 example would be::
218
219 def after_install(options, home_dir):
220 if sys.platform == 'win32':
221 bin = 'Scripts'
222 else:
223 bin = 'bin'
224 subprocess.call([join(home_dir, bin, 'easy_install'),
225 'MyPackage'])
226 subprocess.call([join(home_dir, bin, 'my-package-script'),
227 'setup', home_dir])
228
229 This example immediately installs a package, and runs a setup
230 script from that package.
231
232 Bootstrap Example
233 ~~~~~~~~~~~~~~~~~
234
235 Here's a more concrete example of how you could use this::
236
237 import virtualenv, textwrap
238 output = virtualenv.create_bootstrap_script(textwrap.dedent("""
239 import os, subprocess
240 def after_install(options, home_dir):
241 etc = join(home_dir, 'etc')
242 if not os.path.exists(etc):
243 os.makedirs(etc)
244 subprocess.call([join(home_dir, 'bin', 'easy_install'),
245 'BlogApplication'])
246 subprocess.call([join(home_dir, 'bin', 'paster'),
247 'make-config', 'BlogApplication',
248 join(etc, 'blog.ini')])
249 subprocess.call([join(home_dir, 'bin', 'paster'),
250 'setup-app', join(etc, 'blog.ini')])
251 """))
252 f = open('blog-bootstrap.py', 'w').write(output)
253
254 Another example is available `here`__.
255
256 .. __: https://github.com/socialplanning/fassembler/blob/master/fassembler/creat e-venv-script.py
OLDNEW
« no previous file with comments | « bootstrap/virtualenv/docs/make.bat ('k') | bootstrap/virtualenv/docs/userguide.rst » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698