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