##// END OF EJS Templates
Fix on fix of install documentation
Nikolay Koldunov -
Show More
@@ -1,436 +1,451 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 the appropriate places. You also have to copy `git hooks <https://github.com/ipython/ipython/tree/master/git-hooks>`_
178 to your ``./git`` directory to ensure that your submodules are up to date on each pull.
177 the appropriate places.
179 178
180 179 Then, if you want to update your IPython at any time,
181 180 just do:
182 181
183 182 .. code-block:: bash
184 183
185 184 $ git pull
186 185
186 IPython now uses git submodules to ship its javascript dependencies. If you run
187 IPython from git master, you may need to update submodules once in a while with:
188
189 .. code-block:: bash
190
191 $ git submodule update
192
193 or
194
195 .. code-block:: bash
196
197 $ python setup.py submodule
198
199 Another option is to copy `git hooks <https://github.com/ipython/ipython/tree/master/git-hooks>`_
200 to your ``./git`` directory to ensure that your submodules are up to date on each pull.
201
187 202
188 203 Basic optional dependencies
189 204 ===========================
190 205
191 206 There are a number of basic optional dependencies that most users will want to
192 207 get. These are:
193 208
194 209 * readline (for command line editing, tab completion, etc.)
195 210 * nose (to run the IPython test suite)
196 211
197 212 If you are comfortable installing these things yourself, have at it, otherwise
198 213 read on for more details.
199 214
200 215 IPython uses several other modules, such as pexpect_ and path.py, if they are
201 216 installed on your system, but it can also use bundled versions from
202 217 :mod:`IPython.external`, so there's no need to install them separately.
203 218
204 219 readline
205 220 --------
206 221
207 222 As indicated above, on Windows, to get full functionality in the console
208 223 version of IPython, PyReadline is needed.
209 224 PyReadline is a separate, Windows only implementation of readline that uses
210 225 native Windows calls through :mod:`ctypes`. The easiest way of installing
211 226 PyReadline is you use the binary installer available `here
212 227 <http://pypi.python.org/pypi/pyreadline>`__.
213 228
214 229 On OSX, if you are using the built-in Python shipped by Apple, you will be
215 230 missing a full readline implementation as Apple ships instead a library called
216 231 ``libedit`` that provides only some of readline's functionality. While you may
217 232 find libedit sufficient, we have occasional reports of bugs with it and several
218 233 developers who use OS X as their main environment consider libedit unacceptable
219 234 for productive, regular use with IPython.
220 235
221 236 Therefore, we *strongly* recommend that on OS X you get the full
222 237 :mod:`readline` module. We will *not* consider completion/history problems to
223 238 be bugs for IPython if you are using libedit.
224 239
225 240 To get a working :mod:`readline` module, just do (with :mod:`setuptools`
226 241 installed):
227 242
228 243 .. code-block:: bash
229 244
230 245 $ easy_install readline
231 246
232 247 .. note::
233 248
234 249 Other Python distributions on OS X (such as fink, MacPorts and the official
235 250 python.org binaries) already have readline installed so you likely don't
236 251 have to do this step.
237 252
238 253 When IPython is installed with :mod:`setuptools`, (e.g. using the
239 254 ``easy_install`` command), readline is added as a dependency on OS X, and
240 255 PyReadline on Windows, and will be installed on your system. However, if you
241 256 do not use setuptools, you may have to install one of these packages yourself.
242 257
243 258
244 259 nose
245 260 ----
246 261
247 262 To run the IPython test suite you will need the :mod:`nose` package. Nose
248 263 provides a great way of sniffing out and running all of the IPython tests. The
249 264 simplest way of getting nose is to use :command:`easy_install` or :command:`pip`:
250 265
251 266 .. code-block:: bash
252 267
253 268 $ pip install nose
254 269
255 270 Another way of getting this is to do:
256 271
257 272 .. code-block:: bash
258 273
259 274 $ pip install ipython[test]
260 275
261 276 For more installation options, see the `nose website
262 277 <http://somethingaboutorange.com/mrl/projects/nose/>`_.
263 278
264 279 Once you have nose installed, you can run IPython's test suite using the
265 280 iptest command:
266 281
267 282 .. code-block:: bash
268 283
269 284 $ iptest
270 285
271 286 Dependencies for IPython.parallel (parallel computing)
272 287 ======================================================
273 288
274 289 IPython.parallel provides a nice architecture for parallel computing, with a
275 290 focus on fluid interactive workflows. These features require just one package:
276 291 PyZMQ. See the next section for PyZMQ details.
277 292
278 293 On a Unix style platform (including OS X), if you want to use
279 294 :mod:`setuptools`, you can just do:
280 295
281 296 .. code-block:: bash
282 297
283 298 $ easy_install ipython[zmq] # will include pyzmq
284 299
285 300 Security in IPython.parallel is provided by SSH tunnels. By default, Linux
286 301 and OSX clients will use the shell ssh command, but on Windows, we also
287 302 support tunneling with paramiko_.
288 303
289 304 Dependencies for IPython.kernel.zmq
290 305 ===================================
291 306
292 307 pyzmq
293 308 -----
294 309
295 310 IPython 0.11 introduced some new functionality, including a two-process
296 311 execution model using ZeroMQ_ for communication. The Python bindings to ZeroMQ
297 312 are found in the PyZMQ_ project, which is easy_install-able once you have
298 313 ZeroMQ installed. If you are on Python 2.6 or 2.7 on OSX, or 2.7 on Windows,
299 314 pyzmq has eggs that include ZeroMQ itself.
300 315
301 316 IPython.kernel.zmq depends on pyzmq >= 2.1.4.
302 317
303 318 Dependencies for the IPython QT console
304 319 =======================================
305 320
306 321 pyzmq
307 322 -----
308 323
309 324 Like the :mod:`IPython.parallel` package, the QT Console requires ZeroMQ and
310 325 PyZMQ.
311 326
312 327 Qt
313 328 --
314 329
315 330 Also with 0.11, a new GUI was added using the work in :mod:`IPython.kernel.zmq`, which
316 331 can be launched with ``ipython qtconsole``. The GUI is built on Qt, and works
317 332 with either PyQt, which can be installed from the `PyQt website
318 333 <http://www.riverbankcomputing.co.uk/>`_, or `PySide
319 334 <http://www.pyside.org/>`_, from Nokia.
320 335
321 336 pygments
322 337 --------
323 338
324 339 The syntax-highlighting in ``ipython qtconsole`` is done with the pygments_
325 340 project, which is easy_install-able.
326 341
327 342 .. _installnotebook:
328 343
329 344 Dependencies for the IPython HTML notebook
330 345 ==========================================
331 346
332 347 The IPython notebook is a notebook-style web interface to IPython and can be
333 348 started with the command ``ipython notebook``.
334 349
335 350 pyzmq
336 351 -----
337 352
338 353 Like the :mod:`IPython.parallel` and :mod:`IPython.frontend.qt.console`
339 354 packages, the HTML notebook requires ZeroMQ and PyZMQ.
340 355
341 356 Tornado
342 357 -------
343 358
344 359 The IPython notebook uses the Tornado_ project for its HTTP server. Tornado 2.1
345 360 is required, in order to support current versions of browsers, due to an update
346 361 to the websocket protocol.
347 362
348 363 Jinja
349 364 -----
350 365
351 366 The IPython notebook uses the Jinja_ templating tool to render HTML pages.
352 367
353 368
354 369 MathJax
355 370 -------
356 371
357 372 The IPython notebook uses the MathJax_ Javascript library for rendering LaTeX
358 373 in web browsers. Because MathJax is large, we don't include it with
359 374 IPython. Normally IPython will load MathJax from a CDN, but if you have a slow
360 375 network connection, or want to use LaTeX without an internet connection at all,
361 376 you can install MathJax locally.
362 377
363 378 A quick and easy method is to install it from a python session::
364 379
365 380 from IPython.external.mathjax import install_mathjax
366 381 install_mathjax()
367 382
368 383 If you need tighter configuration control, you can download your own copy
369 384 of MathJax from http://www.mathjax.org/download/ - use the MathJax-2.0 link.
370 385 When you have the file stored locally, install it with::
371 386
372 387 python -m IPython.external.mathjax /path/to/source/mathjax-MathJax-v2.0-20-g07669ac.zip
373 388
374 389 For unusual needs, IPython can tell you what directory it wants to find MathJax in::
375 390
376 391 python -m IPython.external.mathjax -d /some/other/mathjax
377 392
378 393 By default Mathjax will be installed in your ipython profile directory, but you
379 394 can make system wide install, please refer to the documentation and helper function
380 395 of :mod:`IPython.external.mathjax`
381 396
382 397 Browser Compatibility
383 398 ---------------------
384 399
385 400 The IPython notebook is officially supported on the following browers:
386 401
387 402 * Chrome ≥ 13
388 403 * Safari ≥ 5
389 404 * Firefox ≥ 6
390 405
391 406 The is mainly due to the notebook's usage of WebSockets and the flexible box model.
392 407
393 408 The following browsers are unsupported:
394 409
395 410 * Safari < 5
396 411 * Firefox < 6
397 412 * Chrome < 13
398 413 * Opera (any): CSS issues, but execution might work
399 414 * Internet Explorer < 10
400 415
401 416 The following specific combinations are known **NOT** to work:
402 417
403 418 * Safari, IPython 0.12, tornado ≥ 2.2.0
404 419 * Safari with HTTPS connection to notebook and an untrusted certificate (websockets will fail)
405 420 * The `diigo Chrome extension <http://help.diigo.com/tools/chrome-extension>`_ seems to interfere with scrolling
406 421
407 422 There are some early reports that the Notebook works on Internet Explorer 10, but we
408 423 expect there will be some CSS issues related to the flexible box model.
409 424
410 425
411 426 Dependencies for nbconvert (converting notebooks to various formats)
412 427 ====================================================================
413 428
414 429 pandoc
415 430 ------
416 431
417 432 The most important dependency of nbconvert is Pandoc_ 1.10 or later, a document format translation program.
418 433 This is not a Python package, so it cannot be expressed as a regular IPython dependency with setuptools.
419 434
420 435 To install pandoc on Linux, you can generally use your package manager::
421 436
422 437 sudo apt-get install pandoc
423 438
424 439 On other platforms, you can get pandoc from `their website <http://johnmacfarlane.net/pandoc/installing.html>`_.
425 440
426 441
427 442 .. _ZeroMQ: http://www.zeromq.org
428 443 .. _PyZMQ: https://github.com/zeromq/pyzmq
429 444 .. _paramiko: https://github.com/robey/paramiko
430 445 .. _pygments: http://pygments.org
431 446 .. _pexpect: http://pexpect.readthedocs.org/en/latest/
432 447 .. _Jinja: http://jinja.pocoo.org
433 448 .. _Sphinx: http://sphinx-doc.org
434 449 .. _pandoc: http://johnmacfarlane.net/pandoc
435 450 .. _Tornado: http://www.tornadoweb.org
436 451 .. _MathJax: http://www.mathjax.org
General Comments 0
You need to be logged in to leave comments. Login now