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