##// END OF EJS Templates
Documentation fixes. Closes #151
fperez -
Show More

The requested changes are too big and content was truncated. Show full diff

1 NO CONTENT: modified file
The requested commit or file is too big and content was truncated. Show full diff
@@ -1,406 +1,391 b''
1 1 .\" Hey, EMACS: -*- nroff -*-
2 2 .\" First parameter, NAME, should be all caps
3 3 .\" Second parameter, SECTION, should be 1-8, maybe w/ subsection
4 4 .\" other parameters are allowed: see man(7), man(1)
5 5 .TH IPYTHON 1 "November 30, 2004"
6 6 .\" Please adjust this date whenever revising the manpage.
7 7 .\"
8 8 .\" Some roff macros, for reference:
9 9 .\" .nh disable hyphenation
10 10 .\" .hy enable hyphenation
11 11 .\" .ad l left justify
12 12 .\" .ad b justify to both left and right margins
13 13 .\" .nf disable filling
14 14 .\" .fi enable filling
15 15 .\" .br insert line break
16 16 .\" .sp <n> insert n+1 empty lines
17 17 .\" for manpage-specific macros, see man(7) and groff_man(7)
18 18 .\" .SH section heading
19 19 .\" .SS secondary section heading
20 20 .\"
21 21 .\"
22 22 .\" To preview this page as plain text: nroff -man ipython.1
23 23 .\"
24 24 .SH NAME
25 25 ipython \- An Enhanced Interactive Python
26 26 .SH SYNOPSIS
27 27 .B ipython
28 28 .RI [ options ] " files" ...
29 29 .SH DESCRIPTION
30 30 An interactive Python shell with automatic history (input and output),
31 31 dynamic object introspection, easier configuration, command
32 32 completion, access to the system shell, integration with numerical and
33 33 scientific computing tools, and more.
34 34 .SH SPECIAL THREADING OPTIONS
35 35 The following special options are ONLY valid at the beginning of the command
36 36 line, and not later. This is because they control the initialization of
37 37 ipython itself, before the normal option-handling mechanism is active.
38 38 .TP
39 39 .B \-gthread, \-qthread, \-q4thread, \-wthread, \-pylab
40 40 Only ONE of these can be given, and it can only be given as the first option
41 41 passed to IPython (it will have no effect in any other position). They provide
42 42 threading support for the GTK, QT3, QT4 and WXWidgets toolkits, and for the
43 43 matplotlib library.
44 44 .br
45 45 .sp 1
46 46 With any of the first four options, IPython starts running a separate thread
47 47 for the graphical toolkit's operation, so that you can open and control
48 48 graphical elements from within an IPython command line, without blocking. All
49 49 four provide essentially the same functionality, respectively for GTK, QT3, QT4
50 50 and WXWidgets (via their Python interfaces).
51 51 .br
52 52 .sp 1
53 53 Note that with \-wthread, you can additionally use the \-wxversion option to
54 54 request a specific version of wx to be used. This requires that you have the
55 55 'wxversion' Python module installed, which is part of recent wxPython
56 56 distributions.
57 57 .br
58 58 .sp 1
59 59 If \-pylab is given, IPython loads special support for the matplotlib library
60 60 (http://matplotlib.sourceforge.net), allowing interactive usage of any of its
61 61 backends as defined in the user's .matplotlibrc file. It automatically
62 62 activates GTK, QT or WX threading for IPyhton if the choice of matplotlib
63 63 backend requires it. It also modifies the %run command to correctly execute
64 64 (without blocking) any matplotlib-based script which calls show() at the end.
65 65 .TP
66 66 .B \-tk
67 67 The \-g/q/q4/wthread options, and \-pylab (if matplotlib is configured to use
68 68 GTK, QT or WX), will normally block Tk graphical interfaces. This means that
69 69 when GTK, QT or WX threading is active, any attempt to open a Tk GUI will
70 70 result in a dead window, and possibly cause the Python interpreter to crash.
71 71 An extra option, \-tk, is available to address this issue. It can ONLY be
72 72 given as a SECOND option after any of the above (\-gthread, \-qthread,
73 73 \-wthread or \-pylab).
74 74 .br
75 75 .sp 1
76 76 If \-tk is given, IPython will try to coordinate Tk threading with GTK, QT or
77 77 WX. This is however potentially unreliable, and you will have to test on your
78 78 platform and Python configuration to determine whether it works for you.
79 79 Debian users have reported success, apparently due to the fact that Debian
80 80 builds all of Tcl, Tk, Tkinter and Python with pthreads support. Under other
81 81 Linux environments (such as Fedora Core 2), this option has caused random
82 82 crashes and lockups of the Python interpreter. Under other operating systems
83 83 (Mac OSX and Windows), you'll need to try it to find out, since currently no
84 84 user reports are available.
85 85 .br
86 86 .sp 1
87 87 There is unfortunately no way for IPython to determine at runtime whether \-tk
88 88 will work reliably or not, so you will need to do some experiments before
89 89 relying on it for regular work.
90 90 .
91 .SS A WARNING ABOUT SIGNALS AND THREADS
92 When any of the thread systems (GTK, QT or WX) are active, either directly or
93 via \-pylab with a threaded backend, it is impossible to interrupt
94 long-running Python code via Ctrl\-C. IPython can not pass the
95 KeyboardInterrupt exception (or the underlying SIGINT) across threads, so any
96 long-running process started from IPython will run to completion, or will have
97 to be killed via an external (OS-based) mechanism.
98 .br
99 .sp 1
100 To the best of my knowledge, this limitation is imposed by the Python
101 interpreter itself, and it comes from the difficulty of writing portable
102 signal/threaded code. If any user is an expert on this topic and can suggest
103 a better solution, I would love to hear about it. In the IPython sources,
104 look at the Shell.py module, and in particular at the runcode() method.
105 .
106 91 .SH REGULAR OPTIONS
107 92 After the above threading options have been given, regular options can follow
108 93 in any order. All options can be abbreviated to their shortest non-ambiguous
109 94 form and are case-sensitive. One or two dashes can be used. Some options
110 95 have an alternate short form, indicated after a |.
111 96 .br
112 97 .sp 1
113 98 Most options can also be set from your ipythonrc configuration file.
114 99 See the provided examples for assistance. Options given on the
115 100 commandline override the values set in the ipythonrc file.
116 101 .br
117 102 .sp 1
118 103 All options with a [no] prepended can be specified in negated form
119 104 (\-nooption instead of \-option) to turn the feature off.
120 105 .TP
121 106 .B \-h, \-\-help
122 107 Show summary of options.
123 108 .TP
124 109 .B \-autocall <val>
125 110 Make IPython automatically call any callable object even if you didn't type
126 111 explicit parentheses. For example, 'str 43' becomes
127 112 'str(43)' automatically. The value can be '0' to disable the
128 113 feature, '1' for 'smart' autocall, where it is not applied if
129 114 there are no more arguments on the line, and '2' for 'full'
130 115 autocall, where all callable objects are automatically called
131 116 (even if no arguments are present). The default is '1'.
132 117 .TP
133 118 .B \-[no]autoindent
134 119 Turn automatic indentation on/off.
135 120 .TP
136 121 .B \-[no]automagic
137 122 Make magic commands automatic (without needing their first character
138 123 to be %). Type %magic at the IPython prompt for more information.
139 124 .TP
140 125 .B \-[no]autoedit_syntax
141 126 When a syntax error occurs after editing a file, automatically open the file
142 127 to the trouble causing line for convenient fixing.
143 128 .TP
144 129 .B \-[no]banner
145 130 Print the intial information banner (default on).
146 131 .TP
147 132 .B \-c <command>
148 133 Execute the given command string, and set sys.argv to ['c']. This is similar
149 134 to the \-c option in the normal Python interpreter.
150 135 .TP
151 136 .B \-cache_size|cs <n>
152 137 Size of the output cache (maximum number of entries to hold in
153 138 memory). The default is 1000, you can change it permanently in your
154 139 config file. Setting it to 0 completely disables the caching system,
155 140 and the minimum value accepted is 20 (if you provide a value less than
156 141 20, it is reset to 0 and a warning is issued). This limit is defined
157 142 because otherwise you'll spend more time re-flushing a too small cache
158 143 than working.
159 144 .TP
160 145 .B \-classic|cl
161 146 Gives IPython a similar feel to the classic Python prompt.
162 147 .TP
163 148 .B \-colors <scheme>
164 149 Color scheme for prompts and exception reporting. Currently
165 150 implemented: NoColor, Linux, and LightBG.
166 151 .TP
167 152 .B \-[no]color_info
168 153 IPython can display information about objects via a set of functions,
169 154 and optionally can use colors for this, syntax highlighting source
170 155 code and various other elements. However, because this information is
171 156 passed through a pager (like 'less') and many pagers get confused with
172 157 color codes, this option is off by default. You can test it and turn
173 158 it on permanently in your ipythonrc file if it works for you. As a
174 159 reference, the 'less' pager supplied with Mandrake 8.2 works ok, but
175 160 that in RedHat 7.2 doesn't.
176 161 .br
177 162 .sp 1
178 163 Test it and turn it on permanently if it works with your system. The
179 164 magic function @color_info allows you to toggle this interactively for
180 165 testing.
181 166 .TP
182 167 .B \-[no]confirm_exit
183 168 Set to confirm when you try to exit IPython with an EOF (Control-D in
184 169 Unix, Control-Z/Enter in Windows). Note that using the magic functions
185 170 @Exit or @Quit you can force a direct exit, bypassing any
186 171 confirmation.
187 172 .TP
188 173 .B \-[no]debug
189 174 Show information about the loading process. Very useful to pin down
190 175 problems with your configuration files or to get details about session
191 176 restores.
192 177 .TP
193 178 .B \-[no]deep_reload
194 179 IPython can use the deep_reload module which reloads changes in
195 180 modules recursively (it replaces the reload() function, so you don't
196 181 need to change anything to use it). deep_reload() forces a full reload
197 182 of modules whose code may have changed, which the default reload()
198 183 function does not.
199 184 .br
200 185 .sp 1
201 186 When deep_reload is off, IPython will use the normal reload(), but
202 187 deep_reload will still be available as dreload(). This feature is off
203 188 by default [which means that you have both normal reload() and
204 189 dreload()].
205 190 .TP
206 191 .B \-editor <name>
207 192 Which editor to use with the @edit command. By default, IPython will
208 193 honor your EDITOR environment variable (if not set, vi is the Unix
209 194 default and notepad the Windows one). Since this editor is invoked on
210 195 the fly by IPython and is meant for editing small code snippets, you
211 196 may want to use a small, lightweight editor here (in case your default
212 197 EDITOR is something like Emacs).
213 198 .TP
214 199 .B \-ipythondir <name>
215 200 The name of your IPython configuration directory IPYTHONDIR. This can
216 201 also be specified through the environment variable IPYTHONDIR.
217 202 .TP
218 203 .B \-log|l
219 204 Generate a log file of all input. The file is named ipython_log.py in your
220 205 current directory (which prevents logs from multiple IPython sessions from
221 206 trampling each other). You can use this to later restore a session by loading
222 207 your logfile as a file to be executed with option -logplay (see below).
223 208 .TP
224 209 .B \-logfile|lf
225 210 Specify the name of your logfile.
226 211 .TP
227 212 .B \-logplay|lp
228 213 Replay a previous log. For restoring a session as close as possible to
229 214 the state you left it in, use this option (don't just run the
230 215 logfile). With \-logplay, IPython will try to reconstruct the previous
231 216 working environment in full, not just execute the commands in the
232 217 logfile.
233 218 .br
234 219 .sh 1
235 220 When a session is restored, logging is automatically turned on again
236 221 with the name of the logfile it was invoked with (it is read from the
237 222 log header). So once you've turned logging on for a session, you can
238 223 quit IPython and reload it as many times as you want and it will
239 224 continue to log its history and restore from the beginning every time.
240 225 .br
241 226 .sp 1
242 227 Caveats: there are limitations in this option. The history variables
243 228 _i*,_* and _dh don't get restored properly. In the future we will try
244 229 to implement full session saving by writing and retrieving a
245 230 'snapshot' of the memory state of IPython. But our first attempts
246 231 failed because of inherent limitations of Python's Pickle module, so
247 232 this may have to wait.
248 233 .TP
249 234 .B \-[no]messages
250 235 Print messages which IPython collects about its startup process
251 236 (default on).
252 237 .TP
253 238 .B \-[no]pdb
254 239 Automatically call the pdb debugger after every uncaught exception. If
255 240 you are used to debugging using pdb, this puts you automatically
256 241 inside of it after any call (either in IPython or in code called by
257 242 it) which triggers an exception which goes uncaught.
258 243 .TP
259 244 .B \-[no]pprint
260 245 IPython can optionally use the pprint (pretty printer) module for
261 246 displaying results. pprint tends to give a nicer display of nested
262 247 data structures. If you like it, you can turn it on permanently in
263 248 your config file (default off).
264 249 .TP
265 250 .B \-profile|p <name>
266 251 Assume that your config file is ipythonrc-<name> (looks in current dir
267 252 first, then in IPYTHONDIR). This is a quick way to keep and load
268 253 multiple config files for different tasks, especially if you use the
269 254 include option of config files. You can keep a basic
270 255 IPYTHONDIR/ipythonrc file and then have other 'profiles' which include
271 256 this one and load extra things for particular tasks. For example:
272 257 .br
273 258 .sp 1
274 259 1) $HOME/.ipython/ipythonrc : load basic things you always want.
275 260 .br
276 261 2) $HOME/.ipython/ipythonrc-math : load (1) and basic math-related
277 262 modules.
278 263 .br
279 264 3) $HOME/.ipython/ipythonrc-numeric : load (1) and Numeric and
280 265 plotting modules.
281 266 .br
282 267 .sp 1
283 268 Since it is possible to create an endless loop by having circular file
284 269 inclusions, IPython will stop if it reaches 15 recursive inclusions.
285 270 .TP
286 271 .B \-prompt_in1|pi1 <string>
287 272 Specify the string used for input prompts. Note that if you are using
288 273 numbered prompts, the number is represented with a '\\#' in the
289 274 string. Don't forget to quote strings with spaces embedded in
290 275 them. Default: 'In [\\#]: '.
291 276 .br
292 277 .sp 1
293 278 Most bash-like escapes can be used to customize IPython's prompts, as well as
294 279 a few additional ones which are IPython-specific. All valid prompt escapes
295 280 are described in detail in the Customization section of the IPython HTML/PDF
296 281 manual.
297 282 .TP
298 283 .B \-prompt_in2|pi2 <string>
299 284 Similar to the previous option, but used for the continuation prompts. The
300 285 special sequence '\\D' is similar to '\\#', but with all digits replaced dots
301 286 (so you can have your continuation prompt aligned with your input
302 287 prompt). Default: ' .\\D.: ' (note three spaces at the start for alignment
303 288 with 'In [\\#]').
304 289 .TP
305 290 .B \-prompt_out|po <string>
306 291 String used for output prompts, also uses numbers like prompt_in1.
307 292 Default: 'Out[\\#]:'.
308 293 .TP
309 294 .B \-quick
310 295 Start in bare bones mode (no config file loaded).
311 296 .TP
312 297 .B \-rcfile <name>
313 298 Name of your IPython resource configuration file. normally IPython
314 299 loads ipythonrc (from current directory) or IPYTHONDIR/ipythonrc. If
315 300 the loading of your config file fails, IPython starts with a bare
316 301 bones configuration (no modules loaded at all).
317 302 .TP
318 303 .B \-[no]readline
319 304 Use the readline library, which is needed to support name completion
320 305 and command history, among other things. It is enabled by default, but
321 306 may cause problems for users of X/Emacs in Python comint or shell
322 307 buffers.
323 308 .br
324 309 .sp 1
325 310 Note that emacs 'eterm' buffers (opened with M-x term) support
326 311 IPython's readline and syntax coloring fine, only 'emacs' (M-x shell
327 312 and C-c !) buffers do not.
328 313 .TP
329 314 .B \-screen_length|sl <n>
330 315 Number of lines of your screen. This is used to control printing of
331 316 very long strings. Strings longer than this number of lines will be
332 317 sent through a pager instead of directly printed.
333 318 .br
334 319 .sp 1
335 320 The default value for this is 0, which means IPython will auto-detect
336 321 your screen size every time it needs to print certain potentially long
337 322 strings (this doesn't change the behavior of the 'print' keyword, it's
338 323 only triggered internally). If for some reason this isn't working well
339 324 (it needs curses support), specify it yourself. Otherwise don't change
340 325 the default.
341 326 .TP
342 327 .B \-separate_in|si <string>
343 328 Separator before input prompts. Default '\n'.
344 329 .TP
345 330 .B \-separate_out|so <string>
346 331 Separator before output prompts. Default: 0 (nothing).
347 332 .TP
348 333 .B \-separate_out2|so2 <string>
349 334 Separator after output prompts. Default: 0 (nothing).
350 335 .TP
351 336 .B \-nosep
352 337 Shorthand for '\-separate_in 0 \-separate_out 0 \-separate_out2 0'.
353 338 Simply removes all input/output separators.
354 339 .TP
355 340 .B \-upgrade
356 341 Allows you to upgrade your IPYTHONDIR configuration when you install a
357 342 new version of IPython. Since new versions may include new command
358 343 lines options or example files, this copies updated ipythonrc-type
359 344 files. However, it backs up (with a .old extension) all files which
360 345 it overwrites so that you can merge back any custimizations you might
361 346 have in your personal files.
362 347 .TP
363 348 .B \-Version
364 349 Print version information and exit.
365 350 .TP
366 351 .B -wxversion <string>
367 352 Select a specific version of wxPython (used in conjunction with
368 353 \-wthread). Requires the wxversion module, part of recent wxPython
369 354 distributions.
370 355 .TP
371 356 .B \-xmode <modename>
372 357 Mode for exception reporting. The valid modes are Plain, Context, and
373 358 Verbose.
374 359 .br
375 360 .sp 1
376 361 \- Plain: similar to python's normal traceback printing.
377 362 .br
378 363 .sp 1
379 364 \- Context: prints 5 lines of context source code around each line in the
380 365 traceback.
381 366 .br
382 367 .sp 1
383 368 \- Verbose: similar to Context, but additionally prints the variables
384 369 currently visible where the exception happened (shortening their strings if
385 370 too long). This can potentially be very slow, if you happen to have a huge
386 371 data structure whose string representation is complex to compute. Your
387 372 computer may appear to freeze for a while with cpu usage at 100%. If this
388 373 occurs, you can cancel the traceback with Ctrl-C (maybe hitting it more than
389 374 once).
390 375 .
391 376 .SH EMBEDDING
392 377 It is possible to start an IPython instance inside your own Python
393 378 programs. In the documentation example files there are some
394 379 illustrations on how to do this.
395 380 .br
396 381 .sp 1
397 382 This feature allows you to evalutate dynamically the state of your
398 383 code, operate with your variables, analyze them, etc. Note however
399 384 that any changes you make to values while in the shell do NOT
400 385 propagate back to the running code, so it is safe to modify your
401 386 values because you won't break your code in bizarre ways by doing so.
402 387 .SH AUTHOR
403 388 IPython was written by Fernando Perez <fperez@colorado.edu>, based on earlier
404 389 code by Janko Hauser <jh@comunit.de> and Nathaniel Gray
405 390 <n8gray@caltech.edu>. This manual page was written by Jack Moffitt
406 391 <jack@xiph.org>, for the Debian project (but may be used by others).
1 NO CONTENT: modified file
The requested commit or file is too big and content was truncated. Show full diff
General Comments 0
You need to be logged in to leave comments. Login now