##// END OF EJS Templates
update install doc to reflect 0.11 changes and GitHub move...
MinRK -
Show More
@@ -1,328 +1,332 b''
1 1 Overview
2 2 ========
3 3
4 4 This document describes the steps required to install IPython. IPython is
5 5 organized into a number of subpackages, each of which has its own dependencies.
6 6 All of the subpackages come with IPython, so you don't need to download and
7 7 install them separately. However, to use a given subpackage, you will need to
8 8 install all of its dependencies.
9 9
10 10
11 11 Please let us know if you have problems installing IPython or any of its
12 12 dependencies. Officially, IPython requires Python version 2.6 or 2.7. There
13 13 is an experimental port of IPython for Python3 `on GitHub
14 14 <https://github.com/ipython/ipython-py3k>`_
15 15
16 16 .. warning::
17 17
18 18 Officially, IPython supports Python versions 2.6 and 2.7.
19 19
20 20 IPython 0.11 has a hard syntax dependency on 2.6, and will no longer work
21 21 on Python <= 2.5.
22 22
23 23 Some of the installation approaches use the :mod:`setuptools` package and its
24 24 :command:`easy_install` command line program. In many scenarios, this provides
25 25 the most simple method of installing IPython and its dependencies. It is not
26 26 required though. More information about :mod:`setuptools` can be found on its
27 27 website.
28 28
29 29 More general information about installing Python packages can be found in
30 30 Python's documentation at http://www.python.org/doc/.
31 31
32 32 Quickstart
33 33 ==========
34 34
35 35 If you have :mod:`setuptools` installed and you are on OS X or Linux (not
36 36 Windows), the following will download and install IPython *and* the main
37 37 optional dependencies:
38 38
39 39 .. code-block:: bash
40 40
41 41 $ easy_install ipython[zmq,test]
42 42
43 43 This will get pyzmq, which is needed for
44 44 IPython's parallel computing features as well as the nose package, which will
45 45 enable you to run IPython's test suite.
46 46
47 47 .. warning::
48 48
49 49 IPython's test system is being refactored and currently the
50 50 :command:`iptest` shown below does not work. More details about the
51 51 testing situation can be found :ref:`here <testing>`
52 52
53 53 To run IPython's test suite, use the :command:`iptest` command:
54 54
55 55 .. code-block:: bash
56 56
57 57 $ iptest
58 58
59 59 Read on for more specific details and instructions for Windows.
60 60
61 61 Installing IPython itself
62 62 =========================
63 63
64 64 Given a properly built Python, the basic interactive IPython shell will work
65 65 with no external dependencies. However, some Python distributions
66 66 (particularly on Windows and OS X), don't come with a working :mod:`readline`
67 67 module. The IPython shell will work without :mod:`readline`, but will lack
68 68 many features that users depend on, such as tab completion and command line
69 editing. See below for details of how to make sure you have a working
70 :mod:`readline`.
69 editing. If you install IPython with :mod:`setuptools`, (e.g. with `easy_install`),
70 then the appropriate :mod:`readline` for your platform will be installed.
71 See below for details of how to make sure you have a working :mod:`readline`.
71 72
72 73 Installation using easy_install
73 74 -------------------------------
74 75
75 76 If you have :mod:`setuptools` installed, the easiest way of getting IPython is
76 77 to simple use :command:`easy_install`:
77 78
78 79 .. code-block:: bash
79 80
80 81 $ easy_install ipython
81 82
82 83 That's it.
83 84
84 85 Installation from source
85 86 ------------------------
86 87
87 88 If you don't want to use :command:`easy_install`, or don't have it installed,
88 89 just grab the latest stable build of IPython from `here
89 <http://ipython.scipy.org/dist/>`_. Then do the following:
90 <https://github.com/ipython/ipython/downloads>`_. Then do the following:
90 91
91 92 .. code-block:: bash
92 93
93 94 $ tar -xzf ipython.tar.gz
94 95 $ cd ipython
95 96 $ python setup.py install
96 97
97 98 If you are installing to a location (like ``/usr/local``) that requires higher
98 99 permissions, you may need to run the last command with :command:`sudo`.
99 100
100 101 Windows
101 102 -------
102 103
103 104 There are a few caveats for Windows users. The main issue is that a basic
104 105 ``python setup.py install`` approach won't create ``.bat`` file or Start Menu
105 106 shortcuts, which most users want. To get an installation with these, you can
106 107 use any of the following alternatives:
107 108
108 109 1. Install using :command:`easy_install`.
109 110
110 2. Install using our binary ``.exe`` Windows installer, which can be found at
111 2. Install using our binary ``.exe`` Windows installer, which can be found
111 112 `here <http://ipython.scipy.org/dist/>`_
112 113
113 114 3. Install from source, but using :mod:`setuptools` (``python setupegg.py
114 115 install``).
115 116
116 117 IPython by default runs in a terminal window, but the normal terminal
117 118 application supplied by Microsoft Windows is very primitive. You may want to
118 119 download the excellent and free Console_ application instead, which is a far
119 120 superior tool. You can even configure Console to give you by default an
120 121 IPython tab, which is very convenient to create new IPython sessions directly
121 122 from the working terminal.
122 123
123 124 .. _Console: http://sourceforge.net/projects/console
124 125
125 126 Note for Windows 64 bit users: you may have difficulties with the stock
126 127 installer on 64 bit systems; in this case (since we currently do not have 64
127 128 bit builds of the Windows installer) your best bet is to install from source
128 129 with the setuptools method indicated in #3 above. See `this bug report`_ for
129 130 further details.
130 131
131 132 .. _this bug report: https://bugs.launchpad.net/ipython/+bug/382214
132 133
133 134
134 135 Installing the development version
135 136 ----------------------------------
136 137
137 138 It is also possible to install the development version of IPython from our
138 `Bazaar <http://bazaar-vcs.org/>`_ source code repository. To do this you will
139 need to have Bazaar installed on your system. Then just do:
139 `Git <http://git-scm.com/>`_ source code repository. To do this you will
140 need to have Git installed on your system. Then just do:
140 141
141 142 .. code-block:: bash
142 143
143 $ bzr branch lp:ipython
144 $ git clone https://github.com/ipython/ipython.git
144 145 $ cd ipython
145 146 $ python setup.py install
146 147
147 148 Again, this last step on Windows won't create ``.bat`` files or Start Menu
148 149 shortcuts, so you will have to use one of the other approaches listed above.
149 150
150 151 Some users want to be able to follow the development branch as it changes. If
151 152 you have :mod:`setuptools` installed, this is easy. Simply replace the last
152 153 step by:
153 154
154 155 .. code-block:: bash
155 156
156 157 $ python setupegg.py develop
157 158
158 159 This creates links in the right places and installs the command line script to
159 160 the appropriate places. Then, if you want to update your IPython at any time,
160 161 just do:
161 162
162 163 .. code-block:: bash
163 164
164 $ bzr pull
165 $ git pull
165 166
166 167 Basic optional dependencies
167 168 ===========================
168 169
169 170 There are a number of basic optional dependencies that most users will want to
170 171 get. These are:
171 172
172 173 * readline (for command line editing, tab completion, etc.)
173 174 * nose (to run the IPython test suite)
174 175 * pexpect (to use things like irunner)
175 176
176 177 If you are comfortable installing these things yourself, have at it, otherwise
177 178 read on for more details.
178 179
179 180 readline
180 181 --------
181 182
182 183 In principle, all Python distributions should come with a working
183 184 :mod:`readline` module. But, reality is not quite that simple. There are two
184 185 common situations where you won't have a working :mod:`readline` module:
185 186
186 187 * If you are using the built-in Python on Mac OS X.
187 188
188 189 * If you are running Windows, which doesn't have a :mod:`readline` module.
189 190
191 When IPython is installed with :mod:`setuptools`, (e.g. with `easy_install`),
192 readline is added as a dependency on OS X, and PyReadline on Windows, and will
193 be installed on your system. However, if you do not use setuptools, you may
194 have to install one of these packages yourself.
190 195
191 196 On OS X, the built-in Python doesn't not have :mod:`readline` because of
192 197 license issues. Starting with OS X 10.5 (Leopard), Apple's built-in Python has
193 198 a BSD-licensed not-quite-compatible readline replacement. As of IPython 0.9,
194 199 many of the issues related to the differences between readline and libedit seem
195 200 to have been resolved. While you may find libedit sufficient, we have
196 201 occasional reports of bugs with it and several developers who use OS X as their
197 202 main environment consider libedit unacceptable for productive, regular use with
198 203 IPython.
199 204
200 205 Therefore, we *strongly* recommend that on OS X you get the full
201 206 :mod:`readline` module. We will *not* consider completion/history problems to
202 207 be bugs for IPython if you are using libedit.
203 208
204 209 To get a working :mod:`readline` module, just do (with :mod:`setuptools`
205 210 installed):
206 211
207 212 .. code-block:: bash
208 213
209 214 $ easy_install readline
210 215
211 216 .. note::
212 217
213 218 Other Python distributions on OS X (such as fink, MacPorts and the official
214 219 python.org binaries) already have readline installed so you likely don't
215 220 have to do this step.
216 221
217 222 If needed, the readline egg can be build and installed from source (see the
218 223 wiki page at http://ipython.scipy.org/moin/InstallationOSXLeopard).
219 224
220 225 On Windows, you will need the PyReadline module. PyReadline is a separate,
221 226 Windows only implementation of readline that uses native Windows calls through
222 227 :mod:`ctypes`. The easiest way of installing PyReadline is you use the binary
223 installer available `here <http://ipython.scipy.org/dist/>`_. The :mod:`ctypes`
224 module, which comes with Python 2.5 and greater, is required by PyReadline.
228 installer available `here <https://launchpad.net/pyreadline/+download>`_.
225 229
226 230 nose
227 231 ----
228 232
229 233 To run the IPython test suite you will need the :mod:`nose` package. Nose
230 234 provides a great way of sniffing out and running all of the IPython tests. The
231 235 simplest way of getting nose, is to use :command:`easy_install`:
232 236
233 237 .. code-block:: bash
234 238
235 239 $ easy_install nose
236 240
237 241 Another way of getting this is to do:
238 242
239 243 .. code-block:: bash
240 244
241 245 $ easy_install ipython[test]
242 246
243 247 For more installation options, see the `nose website
244 248 <http://somethingaboutorange.com/mrl/projects/nose/>`_.
245 249
246 250 .. warning::
247 251
248 252 As described above, the :command:`iptest` command currently doesn't work.
249 253
250 254 Once you have nose installed, you can run IPython's test suite using the
251 255 iptest command:
252 256
253 257 .. code-block:: bash
254 258
255 259 $ iptest
256 260
257 261 pexpect
258 262 -------
259 263
260 The `pexpect <http://www.noah.org/wiki/Pexpect>`_ package is used in IPython's
261 :command:`irunner` script. On Unix platforms (including OS X), just do:
264 The pexpect package is used in IPython's :command:`irunner` script, as well as
265 for managing subprocesses [pexpect]_. IPython now includes a version of pexpect
266 in :mod:`IPython.external`, but if you have installed pexpect, IPython will use
267 that instead. On Unix platforms (including OS X), just do:
262 268
263 269 .. code-block:: bash
264 270
265 271 $ easy_install pexpect
266 272
267 273 Windows users are out of luck as pexpect does not run there.
268 274
269 275 Dependencies for IPython.parallel (parallel computing)
270 276 ======================================================
271 277
272 278 :mod:`IPython.kernel` has been replaced by :mod:`IPython.parallel`,
273 279 which uses ZeroMQ for all communication.
274 280
275 281 IPython.parallel provides a nice architecture for parallel computing. The
276 282 main focus of this architecture is on interactive parallel computing. These
277 283 features require just one package: pyzmq. See the next section for pyzmq
278 284 details.
279 285
280 286 On a Unix style platform (including OS X), if you want to use
281 287 :mod:`setuptools`, you can just do:
282 288
283 289 .. code-block:: bash
284 290
285 291 $ easy_install ipython[zmq] # will include pyzmq
286 292
287 293 Security in IPython.parallel is provided by SSH tunnels. By default, Linux
288 294 and OSX clients will use the shell ssh command, but on Windows, we also
289 295 support tunneling with paramiko [paramiko]_.
290 296
291 297 Dependencies for IPython.zmq
292 298 ============================
293 299
294 300 pyzmq
295 301 -----
296 302
297 303 IPython 0.11 introduced some new functionality, including a two-process
298 304 execution model using ZeroMQ for communication [ZeroMQ]_. The Python bindings
299 305 to ZeroMQ are found in the pyzmq project, which is easy_install-able once you
300 306 have ZeroMQ installed (or even if you don't).
301 307
302 308 IPython.zmq depends on pyzmq >= 2.0.10.1, but IPython.parallel requires the more
303 309 recent 2.1.4. 2.1.4 also has binary releases for OSX and Windows, that do not
304 310 require prior installation of libzmq.
305 311
306 312 Dependencies for ipython-qtconsole (new GUI)
307 313 ============================================
308 314
309 315 PyQt
310 316 ----
311 317
312 318 Also with 0.11, a new GUI was added using the work in :mod:`IPython.zmq`,
313 319 which can be launched with ``ipython-qtconsole``. The GUI is built on PyQt ,
314 320 which can be installed from the
315 321 `PyQt website <http://www.riverbankcomputing.co.uk/>`_.
316 322
317 323 pygments
318 324 --------
319 325
320 326 The syntax-highlighting in ``ipython-qtconsole`` is done with the pygments project,
321 which is easy_install-able.
327 which is easy_install-able [pygments]_.
322 328
323 .. [Twisted] Twisted matrix. http://twistedmatrix.org
324 .. [ZopeInterface] http://pypi.python.org/pypi/zope.interface
325 .. [Foolscap] Foolscap network protocol. http://foolscap.lothar.com/trac
326 .. [pyOpenSSL] pyOpenSSL. http://pyopenssl.sourceforge.net
327 329 .. [ZeroMQ] ZeroMQ. http://www.zeromq.org
328 330 .. [paramiko] paramiko. https://github.com/robey/paramiko
331 .. [pygments] Pygments syntax highlighting. http://pygments.org
332 .. [pexpect] Pexpect. http://www.noah.org/wiki/Pexpect
General Comments 0
You need to be logged in to leave comments. Login now