##// END OF EJS Templates
Reduce information about Pexpect
Thomas Kluyver -
Show More
@@ -1,445 +1,433 b''
1 1 IPython requires Python 2.7 or ≥ 3.3.
2 2
3 3 .. note::
4 4
5 5 If you need to use Python 2.6 or 3.2, you can find IPython 1.0
6 6 `here <http://archive.ipython.org/release/>`__.
7 7
8 8 Quickstart
9 9 ==========
10 10
11 11 If you have :mod:`setuptools`,
12 12 the quickest way to get up and running with IPython is:
13 13
14 14 .. code-block:: bash
15 15
16 16 $ easy_install ipython[all]
17 17
18 18 This will download and install IPython and its main optional dependencies:
19 19
20 20 - jinja2, needed for the notebook
21 21 - sphinx, needed for nbconvert
22 22 - pyzmq, needed for IPython's parallel computing features, qt console and
23 23 notebook
24 24 - pygments, used by nbconvert and the Qt console for syntax highlighting
25 25 - tornado, needed by the web-based notebook
26 26 - nose, used by the test suite
27 27 - readline (on OS X) or pyreadline (on Windows), needed for the terminal
28 28
29 29 To run IPython's test suite, use the :command:`iptest` command:
30 30
31 31 .. code-block:: bash
32 32
33 33 $ iptest
34 34
35 35 .. note::
36 36
37 37 .. code-block:: bash
38 38
39 39 $ pip install ipython[all]
40 40
41 41 will also work in many cases, but it will ignore the binary eggs
42 42 of packages such as pyzmq and readline,
43 43 which may be required for some users on Windows or OS X.
44 44
45 45
46 46 Overview
47 47 ========
48 48
49 49 This document describes in detail the steps required to install IPython,
50 50 and its various optional dependencies.
51 51 For a few quick ways to get started with package managers or full Python distributions,
52 52 see `the install page <http://ipython.org/install.html>`_ of the IPython website.
53 53
54 54 IPython is organized into a number of subpackages, each of which has its own dependencies.
55 55 All of the subpackages come with IPython, so you don't need to download and
56 56 install them separately. However, to use a given subpackage, you will need to
57 57 install all of its dependencies.
58 58
59 59 Please let us know if you have problems installing IPython or any of its dependencies.
60 60
61 61 IPython and most dependencies can be installed via :command:`easy_install`,
62 62 provided by the :mod:`setuptools` package, or :command:`pip`.
63 63 In many scenarios, this is the most simplest method of installing Python packages.
64 64 More information about :mod:`setuptools` can be found on
65 65 `its PyPI page <http://pypi.python.org/pypi/setuptools>`__.
66 66
67 67 .. note::
68 68
69 69 On Windows, IPython *requires* :mod:`setuptools`. We hope to
70 70 change this in the future, but for now on Windows, you *must* install
71 71 :mod:`setuptools` to use IPython.
72 72
73 73 More general information about installing Python packages can be found in
74 74 `Python's documentation <http://docs.python.org>`_.
75 75
76 76
77 77 Installing IPython itself
78 78 =========================
79 79
80 80 Given a properly built Python, the basic interactive IPython shell will work
81 81 with no external dependencies. However, some Python distributions
82 82 (particularly on Windows and OS X), don't come with a working :mod:`readline`
83 83 module. The IPython shell will work without :mod:`readline`, but will lack
84 84 many features that users depend on, such as tab completion and command line
85 85 editing. If you install IPython with :mod:`setuptools`, (e.g. with
86 86 `easy_install`), then the appropriate :mod:`readline` for your platform will be
87 87 installed. See below for details of how to make sure you have a working
88 88 :mod:`readline`.
89 89
90 90 Installation using easy_install or pip
91 91 --------------------------------------
92 92
93 93 If you have :mod:`setuptools` or :mod:`pip`, the easiest way of getting IPython is
94 94 to simply use :command:`easy_install` or :command:`pip`:
95 95
96 96 .. code-block:: bash
97 97
98 98 $ pip install ipython
99 99
100 100 That's it.
101 101
102 102 .. note::
103 103
104 104 Many prefer :command:`pip` to :command:`easy_install`, but it ignores eggs (binary Python packages).
105 105 This mainly affects pyzmq and readline, which are compiled packages and provide
106 106 binary eggs. If you use :command:`pip` to install these packages,
107 107 it will always compile from source, which may not succeed.
108 108
109 109 Installation from source
110 110 ------------------------
111 111
112 112 If you don't want to use :command:`easy_install`, or don't have it installed,
113 113 just grab the latest stable build of IPython from `here
114 114 <http://ipython.org/download.html>`_. Then do the following:
115 115
116 116 .. code-block:: bash
117 117
118 118 $ tar -xzf ipython.tar.gz
119 119 $ cd ipython
120 120 $ python setup.py install
121 121
122 122 If you are installing to a location (like ``/usr/local``) that requires higher
123 123 permissions, you may need to run the last command with :command:`sudo`.
124 124
125 125 Windows
126 126 -------
127 127
128 128 As mentioned above, on Windows, IPython requires :mod:`setuptools`, and it also
129 129 requires the PyReadline library to properly support coloring and keyboard
130 130 management (features that the default windows console doesn't have). So on
131 131 Windows, the installation procedure is:
132 132
133 133 1. Install `setuptools <http://pypi.python.org/pypi/setuptools>`_.
134 134
135 135 2. Install `pyreadline <http://pypi.python.org/pypi/pyreadline>`_. You can use
136 136 the command ``easy_install pyreadline`` from a terminal, or the binary
137 137 installer appropriate for your platform from the PyPI page.
138 138
139 139 3. Install IPython itself, which you can download from `PyPI
140 140 <http://pypi.python.org/pypi/ipython>`_ or from `our site
141 141 <http://ipython.org/download.html>`_. Note that on Windows 7, you *must*
142 142 right-click and 'Run as administrator' for the Start menu shortcuts to be
143 143 created.
144 144
145 145 IPython by default runs in a terminal window, but the normal terminal
146 146 application supplied by Microsoft Windows is very primitive. You may want to
147 147 download the excellent and free Console_ application instead, which is a far
148 148 superior tool. You can even configure Console to give you by default an
149 149 IPython tab, which is very convenient to create new IPython sessions directly
150 150 from the working terminal.
151 151
152 152 .. _Console: http://sourceforge.net/projects/console
153 153
154 154
155 155 Installing the development version
156 156 ----------------------------------
157 157
158 158 It is also possible to install the development version of IPython from our
159 159 `Git <http://git-scm.com/>`_ source code repository. To do this you will
160 160 need to have Git installed on your system. Then just do:
161 161
162 162 .. code-block:: bash
163 163
164 164 $ git clone --recursive https://github.com/ipython/ipython.git
165 165 $ cd ipython
166 166 $ python setup.py install
167 167
168 168 Some users want to be able to follow the development branch as it changes. If
169 169 you have :mod:`setuptools` installed, this is easy. Simply replace the last
170 170 step by:
171 171
172 172 .. code-block:: bash
173 173
174 174 $ python setupegg.py develop
175 175
176 176 This creates links in the right places and installs the command line script to
177 177 the appropriate places. Then, if you want to update your IPython at any time,
178 178 just do:
179 179
180 180 .. code-block:: bash
181 181
182 182 $ git pull
183 183
184 184
185 185 Basic optional dependencies
186 186 ===========================
187 187
188 188 There are a number of basic optional dependencies that most users will want to
189 189 get. These are:
190 190
191 191 * readline (for command line editing, tab completion, etc.)
192 192 * nose (to run the IPython test suite)
193 * pexpect
194 193
195 194 If you are comfortable installing these things yourself, have at it, otherwise
196 195 read on for more details.
197 196
197 IPython uses several other modules, such as pexpect_ and path.py, if they are
198 installed on your system, but it can also use bundled versions from
199 :mod:`IPython.external`, so there's no need to install them separately.
200
198 201 readline
199 202 --------
200 203
201 204 As indicated above, on Windows, to get full functionality in the console
202 205 version of IPython, PyReadline is needed.
203 206 PyReadline is a separate, Windows only implementation of readline that uses
204 207 native Windows calls through :mod:`ctypes`. The easiest way of installing
205 208 PyReadline is you use the binary installer available `here
206 209 <http://pypi.python.org/pypi/pyreadline>`__.
207 210
208 211 On OSX, if you are using the built-in Python shipped by Apple, you will be
209 212 missing a full readline implementation as Apple ships instead a library called
210 213 ``libedit`` that provides only some of readline's functionality. While you may
211 214 find libedit sufficient, we have occasional reports of bugs with it and several
212 215 developers who use OS X as their main environment consider libedit unacceptable
213 216 for productive, regular use with IPython.
214 217
215 218 Therefore, we *strongly* recommend that on OS X you get the full
216 219 :mod:`readline` module. We will *not* consider completion/history problems to
217 220 be bugs for IPython if you are using libedit.
218 221
219 222 To get a working :mod:`readline` module, just do (with :mod:`setuptools`
220 223 installed):
221 224
222 225 .. code-block:: bash
223 226
224 227 $ easy_install readline
225 228
226 229 .. note::
227 230
228 231 Other Python distributions on OS X (such as fink, MacPorts and the official
229 232 python.org binaries) already have readline installed so you likely don't
230 233 have to do this step.
231 234
232 235 When IPython is installed with :mod:`setuptools`, (e.g. using the
233 236 ``easy_install`` command), readline is added as a dependency on OS X, and
234 237 PyReadline on Windows, and will be installed on your system. However, if you
235 238 do not use setuptools, you may have to install one of these packages yourself.
236 239
237 240
238 241 nose
239 242 ----
240 243
241 244 To run the IPython test suite you will need the :mod:`nose` package. Nose
242 245 provides a great way of sniffing out and running all of the IPython tests. The
243 246 simplest way of getting nose is to use :command:`easy_install` or :command:`pip`:
244 247
245 248 .. code-block:: bash
246 249
247 250 $ pip install nose
248 251
249 252 Another way of getting this is to do:
250 253
251 254 .. code-block:: bash
252 255
253 256 $ pip install ipython[test]
254 257
255 258 For more installation options, see the `nose website
256 259 <http://somethingaboutorange.com/mrl/projects/nose/>`_.
257 260
258 261 Once you have nose installed, you can run IPython's test suite using the
259 262 iptest command:
260 263
261 264 .. code-block:: bash
262 265
263 266 $ iptest
264 267
265 pexpect
266 -------
267
268 The pexpect_ package is used
269 for managing subprocesses. IPython now includes a version of Pexpect in
270 :mod:`IPython.external`, but if you have installed Pexpect, IPython will use
271 that instead. On Unix platforms (including OS X), just do:
272
273 .. code-block:: bash
274
275 $ pip install pexpect
276
277 Pexpect doesn't work on Windows, and we use other APIs for controlling
278 subprocesses.
279
280 268 Dependencies for IPython.parallel (parallel computing)
281 269 ======================================================
282 270
283 271 IPython.parallel provides a nice architecture for parallel computing, with a
284 272 focus on fluid interactive workflows. These features require just one package:
285 273 PyZMQ. See the next section for PyZMQ details.
286 274
287 275 On a Unix style platform (including OS X), if you want to use
288 276 :mod:`setuptools`, you can just do:
289 277
290 278 .. code-block:: bash
291 279
292 280 $ easy_install ipython[zmq] # will include pyzmq
293 281
294 282 Security in IPython.parallel is provided by SSH tunnels. By default, Linux
295 283 and OSX clients will use the shell ssh command, but on Windows, we also
296 284 support tunneling with paramiko_.
297 285
298 286 Dependencies for IPython.kernel.zmq
299 287 ===================================
300 288
301 289 pyzmq
302 290 -----
303 291
304 292 IPython 0.11 introduced some new functionality, including a two-process
305 293 execution model using ZeroMQ_ for communication. The Python bindings to ZeroMQ
306 294 are found in the PyZMQ_ project, which is easy_install-able once you have
307 295 ZeroMQ installed. If you are on Python 2.6 or 2.7 on OSX, or 2.7 on Windows,
308 296 pyzmq has eggs that include ZeroMQ itself.
309 297
310 298 IPython.kernel.zmq depends on pyzmq >= 2.1.4.
311 299
312 300 Dependencies for the IPython QT console
313 301 =======================================
314 302
315 303 pyzmq
316 304 -----
317 305
318 306 Like the :mod:`IPython.parallel` package, the QT Console requires ZeroMQ and
319 307 PyZMQ.
320 308
321 309 Qt
322 310 --
323 311
324 312 Also with 0.11, a new GUI was added using the work in :mod:`IPython.kernel.zmq`, which
325 313 can be launched with ``ipython qtconsole``. The GUI is built on Qt, and works
326 314 with either PyQt, which can be installed from the `PyQt website
327 315 <http://www.riverbankcomputing.co.uk/>`_, or `PySide
328 316 <http://www.pyside.org/>`_, from Nokia.
329 317
330 318 pygments
331 319 --------
332 320
333 321 The syntax-highlighting in ``ipython qtconsole`` is done with the pygments_
334 322 project, which is easy_install-able.
335 323
336 324 .. _installnotebook:
337 325
338 326 Dependencies for the IPython HTML notebook
339 327 ==========================================
340 328
341 329 The IPython notebook is a notebook-style web interface to IPython and can be
342 330 started with the command ``ipython notebook``.
343 331
344 332 pyzmq
345 333 -----
346 334
347 335 Like the :mod:`IPython.parallel` and :mod:`IPython.frontend.qt.console`
348 336 packages, the HTML notebook requires ZeroMQ and PyZMQ.
349 337
350 338 Tornado
351 339 -------
352 340
353 341 The IPython notebook uses the Tornado_ project for its HTTP server. Tornado 2.1
354 342 is required, in order to support current versions of browsers, due to an update
355 343 to the websocket protocol.
356 344
357 345 Jinja
358 346 -----
359 347
360 348 The IPython notebook uses the Jinja_ templating tool to render HTML pages.
361 349
362 350
363 351 MathJax
364 352 -------
365 353
366 354 The IPython notebook uses the MathJax_ Javascript library for rendering LaTeX
367 355 in web browsers. Because MathJax is large, we don't include it with
368 356 IPython. Normally IPython will load MathJax from a CDN, but if you have a slow
369 357 network connection, or want to use LaTeX without an internet connection at all,
370 358 you can install MathJax locally.
371 359
372 360 A quick and easy method is to install it from a python session::
373 361
374 362 from IPython.external.mathjax import install_mathjax
375 363 install_mathjax()
376 364
377 365 If you need tighter configuration control, you can download your own copy
378 366 of MathJax from http://www.mathjax.org/download/ - use the MathJax-2.0 link.
379 367 When you have the file stored locally, install it with::
380 368
381 369 python -m IPython.external.mathjax /path/to/source/mathjax-MathJax-v2.0-20-g07669ac.zip
382 370
383 371 For unusual needs, IPython can tell you what directory it wants to find MathJax in::
384 372
385 373 python -m IPython.external.mathjax -d /some/other/mathjax
386 374
387 375 By default Mathjax will be installed in your ipython profile directory, but you
388 376 can make system wide install, please refer to the documentation and helper function
389 377 of :mod:`IPython.external.mathjax`
390 378
391 379 Browser Compatibility
392 380 ---------------------
393 381
394 382 The IPython notebook is officially supported on the following browers:
395 383
396 384 * Chrome ≥ 13
397 385 * Safari ≥ 5
398 386 * Firefox ≥ 6
399 387
400 388 The is mainly due to the notebook's usage of WebSockets and the flexible box model.
401 389
402 390 The following browsers are unsupported:
403 391
404 392 * Safari < 5
405 393 * Firefox < 6
406 394 * Chrome < 13
407 395 * Opera (any): CSS issues, but execution might work
408 396 * Internet Explorer < 10
409 397
410 398 The following specific combinations are known **NOT** to work:
411 399
412 400 * Safari, IPython 0.12, tornado ≥ 2.2.0
413 401 * Safari with HTTPS connection to notebook and an untrusted certificate (websockets will fail)
414 402 * The [diigo Chrome extension](http://help.diigo.com/tools/chrome-extension) seems to interfere with scrolling
415 403
416 404 There are some early reports that the Notebook works on Internet Explorer 10, but we
417 405 expect there will be some CSS issues related to the flexible box model.
418 406
419 407
420 408 Dependencies for nbconvert (converting notebooks to various formats)
421 409 ====================================================================
422 410
423 411 pandoc
424 412 ------
425 413
426 414 The most important dependency of nbconvert is Pandoc_ 1.10 or later, a document format translation program.
427 415 This is not a Python package, so it cannot be expressed as a regular IPython dependency with setuptools.
428 416
429 417 To install pandoc on Linux, you can generally use your package manager::
430 418
431 419 sudo apt-get install pandoc
432 420
433 421 On other platforms, you can get pandoc from `their website <http://johnmacfarlane.net/pandoc/installing.html>`_.
434 422
435 423
436 424 .. _ZeroMQ: http://www.zeromq.org
437 425 .. _PyZMQ: https://github.com/zeromq/pyzmq
438 426 .. _paramiko: https://github.com/robey/paramiko
439 427 .. _pygments: http://pygments.org
440 .. _pexpect: http://www.noah.org/wiki/Pexpect
428 .. _pexpect: http://pexpect.readthedocs.org/en/latest/
441 429 .. _Jinja: http://jinja.pocoo.org
442 430 .. _Sphinx: http://sphinx-doc.org
443 431 .. _pandoc: http://johnmacfarlane.net/pandoc
444 432 .. _Tornado: http://www.tornadoweb.org
445 433 .. _MathJax: http://www.mathjax.org
General Comments 0
You need to be logged in to leave comments. Login now