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