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