##// END OF EJS Templates
Correct links to twisted.
Thomas -
r4480:a461e270 0.10.2
parent child Browse files
Show More
@@ -1,300 +1,300 b''
1 Overview
1 Overview
2 ========
2 ========
3
3
4 This document describes the steps required to install IPython. IPython is
4 This document describes the steps required to install IPython. IPython is
5 organized into a number of subpackages, each of which has its own dependencies.
5 organized into a number of subpackages, each of which has its own dependencies.
6 All of the subpackages come with IPython, so you don't need to download and
6 All of the subpackages come with IPython, so you don't need to download and
7 install them separately. However, to use a given subpackage, you will need to
7 install them separately. However, to use a given subpackage, you will need to
8 install all of its dependencies.
8 install all of its dependencies.
9
9
10
10
11 Please let us know if you have problems installing IPython or any of its
11 Please let us know if you have problems installing IPython or any of its
12 dependencies. Officially, IPython requires Python version 2.5 or 2.6. We
12 dependencies. Officially, IPython requires Python version 2.5 or 2.6. We
13 have *not* yet started to port IPython to Python 3.0.
13 have *not* yet started to port IPython to Python 3.0.
14
14
15 .. warning::
15 .. warning::
16
16
17 Officially, IPython supports Python versions 2.5 and 2.6.
17 Officially, IPython supports Python versions 2.5 and 2.6.
18
18
19 IPython 0.10 has only been well tested with Python 2.5 and 2.6. Parts of
19 IPython 0.10 has only been well tested with Python 2.5 and 2.6. Parts of
20 it may work with Python 2.4, but we do not officially support Python 2.4
20 it may work with Python 2.4, but we do not officially support Python 2.4
21 anymore. If you need to use 2.4, you can still run IPython 0.9.
21 anymore. If you need to use 2.4, you can still run IPython 0.9.
22
22
23 Some of the installation approaches use the :mod:`setuptools` package and its
23 Some of the installation approaches use the :mod:`setuptools` package and its
24 :command:`easy_install` command line program. In many scenarios, this provides
24 :command:`easy_install` command line program. In many scenarios, this provides
25 the most simple method of installing IPython and its dependencies. It is not
25 the most simple method of installing IPython and its dependencies. It is not
26 required though. More information about :mod:`setuptools` can be found on its
26 required though. More information about :mod:`setuptools` can be found on its
27 website.
27 website.
28
28
29 More general information about installing Python packages can be found in
29 More general information about installing Python packages can be found in
30 Python's documentation at http://www.python.org/doc/.
30 Python's documentation at http://www.python.org/doc/.
31
31
32 Quickstart
32 Quickstart
33 ==========
33 ==========
34
34
35 If you have :mod:`setuptools` installed and you are on OS X or Linux (not
35 If you have :mod:`setuptools` installed and you are on OS X or Linux (not
36 Windows), the following will download and install IPython *and* the main
36 Windows), the following will download and install IPython *and* the main
37 optional dependencies::
37 optional dependencies::
38
38
39 $ easy_install ipython[kernel,security,test]
39 $ easy_install ipython[kernel,security,test]
40
40
41 This will get Twisted, zope.interface and Foolscap, which are needed for
41 This will get Twisted, zope.interface and Foolscap, which are needed for
42 IPython's parallel computing features as well as the nose package, which will
42 IPython's parallel computing features as well as the nose package, which will
43 enable you to run IPython's test suite. To run IPython's test suite, use the
43 enable you to run IPython's test suite. To run IPython's test suite, use the
44 :command:`iptest` command::
44 :command:`iptest` command::
45
45
46 $ iptest
46 $ iptest
47
47
48 Read on for more specific details and instructions for Windows.
48 Read on for more specific details and instructions for Windows.
49
49
50 Installing IPython itself
50 Installing IPython itself
51 =========================
51 =========================
52
52
53 Given a properly built Python, the basic interactive IPython shell will work
53 Given a properly built Python, the basic interactive IPython shell will work
54 with no external dependencies. However, some Python distributions
54 with no external dependencies. However, some Python distributions
55 (particularly on Windows and OS X), don't come with a working :mod:`readline`
55 (particularly on Windows and OS X), don't come with a working :mod:`readline`
56 module. The IPython shell will work without :mod:`readline`, but will lack
56 module. The IPython shell will work without :mod:`readline`, but will lack
57 many features that users depend on, such as tab completion and command line
57 many features that users depend on, such as tab completion and command line
58 editing. See below for details of how to make sure you have a working
58 editing. See below for details of how to make sure you have a working
59 :mod:`readline`.
59 :mod:`readline`.
60
60
61 Installation using easy_install
61 Installation using easy_install
62 -------------------------------
62 -------------------------------
63
63
64 If you have :mod:`setuptools` installed, the easiest way of getting IPython is
64 If you have :mod:`setuptools` installed, the easiest way of getting IPython is
65 to simple use :command:`easy_install`::
65 to simple use :command:`easy_install`::
66
66
67 $ easy_install ipython
67 $ easy_install ipython
68
68
69 That's it.
69 That's it.
70
70
71 Installation from source
71 Installation from source
72 ------------------------
72 ------------------------
73
73
74 If you don't want to use :command:`easy_install`, or don't have it installed,
74 If you don't want to use :command:`easy_install`, or don't have it installed,
75 just grab the latest stable build of IPython from `here
75 just grab the latest stable build of IPython from `here
76 <http://ipython.scipy.org/dist/>`_. Then do the following::
76 <http://ipython.scipy.org/dist/>`_. Then do the following::
77
77
78 $ tar -xzf ipython.tar.gz
78 $ tar -xzf ipython.tar.gz
79 $ cd ipython
79 $ cd ipython
80 $ python setup.py install
80 $ python setup.py install
81
81
82 If you are installing to a location (like ``/usr/local``) that requires higher
82 If you are installing to a location (like ``/usr/local``) that requires higher
83 permissions, you may need to run the last command with :command:`sudo`.
83 permissions, you may need to run the last command with :command:`sudo`.
84
84
85 Windows
85 Windows
86 -------
86 -------
87
87
88 There are a few caveats for Windows users. The main issue is that a basic
88 There are a few caveats for Windows users. The main issue is that a basic
89 ``python setup.py install`` approach won't create ``.bat`` file or Start Menu
89 ``python setup.py install`` approach won't create ``.bat`` file or Start Menu
90 shortcuts, which most users want. To get an installation with these, you can
90 shortcuts, which most users want. To get an installation with these, you can
91 use any of the following alternatives:
91 use any of the following alternatives:
92
92
93 1. Install using :command:`easy_install`.
93 1. Install using :command:`easy_install`.
94
94
95 2. Install using our binary ``.exe`` Windows installer, which can be found at
95 2. Install using our binary ``.exe`` Windows installer, which can be found at
96 `here <http://ipython.scipy.org/dist/>`_
96 `here <http://ipython.scipy.org/dist/>`_
97
97
98 3. Install from source, but using :mod:`setuptools` (``python setupegg.py
98 3. Install from source, but using :mod:`setuptools` (``python setupegg.py
99 install``).
99 install``).
100
100
101 IPython by default runs in a termninal window, but the normal terminal
101 IPython by default runs in a termninal window, but the normal terminal
102 application supplied by Microsoft Windows is very primitive. You may want to
102 application supplied by Microsoft Windows is very primitive. You may want to
103 download the excellent and free Console_ application instead, which is a far
103 download the excellent and free Console_ application instead, which is a far
104 superior tool. You can even configure Console to give you by default an
104 superior tool. You can even configure Console to give you by default an
105 IPython tab, which is very convenient to create new IPython sessions directly
105 IPython tab, which is very convenient to create new IPython sessions directly
106 from the working terminal.
106 from the working terminal.
107
107
108 .. _Console: http://sourceforge.net/projects/console
108 .. _Console: http://sourceforge.net/projects/console
109
109
110
110
111 Installing the development version
111 Installing the development version
112 ----------------------------------
112 ----------------------------------
113
113
114 It is also possible to install the development version of IPython from our
114 It is also possible to install the development version of IPython from our
115 `Bazaar <http://bazaar-vcs.org/>`_ source code repository. To do this you will
115 `Bazaar <http://bazaar-vcs.org/>`_ source code repository. To do this you will
116 need to have Bazaar installed on your system. Then just do::
116 need to have Bazaar installed on your system. Then just do::
117
117
118 $ bzr branch lp:ipython
118 $ bzr branch lp:ipython
119 $ cd ipython
119 $ cd ipython
120 $ python setup.py install
120 $ python setup.py install
121
121
122 Again, this last step on Windows won't create ``.bat`` files or Start Menu
122 Again, this last step on Windows won't create ``.bat`` files or Start Menu
123 shortcuts, so you will have to use one of the other approaches listed above.
123 shortcuts, so you will have to use one of the other approaches listed above.
124
124
125 Some users want to be able to follow the development branch as it changes. If
125 Some users want to be able to follow the development branch as it changes. If
126 you have :mod:`setuptools` installed, this is easy. Simply replace the last
126 you have :mod:`setuptools` installed, this is easy. Simply replace the last
127 step by::
127 step by::
128
128
129 $ python setupegg.py develop
129 $ python setupegg.py develop
130
130
131 This creates links in the right places and installs the command line script to
131 This creates links in the right places and installs the command line script to
132 the appropriate places. Then, if you want to update your IPython at any time,
132 the appropriate places. Then, if you want to update your IPython at any time,
133 just do::
133 just do::
134
134
135 $ bzr pull
135 $ bzr pull
136
136
137 Basic optional dependencies
137 Basic optional dependencies
138 ===========================
138 ===========================
139
139
140 There are a number of basic optional dependencies that most users will want to
140 There are a number of basic optional dependencies that most users will want to
141 get. These are:
141 get. These are:
142
142
143 * readline (for command line editing, tab completion, etc.)
143 * readline (for command line editing, tab completion, etc.)
144 * nose (to run the IPython test suite)
144 * nose (to run the IPython test suite)
145 * pexpect (to use things like irunner)
145 * pexpect (to use things like irunner)
146
146
147 If you are comfortable installing these things yourself, have at it, otherwise
147 If you are comfortable installing these things yourself, have at it, otherwise
148 read on for more details.
148 read on for more details.
149
149
150 readline
150 readline
151 --------
151 --------
152
152
153 In principle, all Python distributions should come with a working
153 In principle, all Python distributions should come with a working
154 :mod:`readline` module. But, reality is not quite that simple. There are two
154 :mod:`readline` module. But, reality is not quite that simple. There are two
155 common situations where you won't have a working :mod:`readline` module:
155 common situations where you won't have a working :mod:`readline` module:
156
156
157 * If you are using the built-in Python on Mac OS X.
157 * If you are using the built-in Python on Mac OS X.
158
158
159 * If you are running Windows, which doesn't have a :mod:`readline` module.
159 * If you are running Windows, which doesn't have a :mod:`readline` module.
160
160
161 On OS X, the built-in Python doesn't not have :mod:`readline` because of
161 On OS X, the built-in Python doesn't not have :mod:`readline` because of
162 license issues. Starting with OS X 10.5 (Leopard), Apple's built-in Python has
162 license issues. Starting with OS X 10.5 (Leopard), Apple's built-in Python has
163 a BSD-licensed not-quite-compatible readline replacement. As of IPython 0.9,
163 a BSD-licensed not-quite-compatible readline replacement. As of IPython 0.9,
164 many of the issues related to the differences between readline and libedit seem
164 many of the issues related to the differences between readline and libedit seem
165 to have been resolved. While you may find libedit sufficient, we have
165 to have been resolved. While you may find libedit sufficient, we have
166 occasional reports of bugs with it and several developers who use OS X as their
166 occasional reports of bugs with it and several developers who use OS X as their
167 main environment consider libedit unacceptable for productive, regular use with
167 main environment consider libedit unacceptable for productive, regular use with
168 IPython.
168 IPython.
169
169
170 Therefore, we *strongly* recommend that on OS X you get the full
170 Therefore, we *strongly* recommend that on OS X you get the full
171 :mod:`readline` module. We will *not* consider completion/history problems to
171 :mod:`readline` module. We will *not* consider completion/history problems to
172 be bugs for IPython if you are using libedit.
172 be bugs for IPython if you are using libedit.
173
173
174 To get a working :mod:`readline` module, just do (with :mod:`setuptools`
174 To get a working :mod:`readline` module, just do (with :mod:`setuptools`
175 installed)::
175 installed)::
176
176
177 $ easy_install readline
177 $ easy_install readline
178
178
179 .. note::
179 .. note::
180
180
181 Other Python distributions on OS X (such as fink, MacPorts and the official
181 Other Python distributions on OS X (such as fink, MacPorts and the official
182 python.org binaries) already have readline installed so you likely don't
182 python.org binaries) already have readline installed so you likely don't
183 have to do this step.
183 have to do this step.
184
184
185 If needed, the readline egg can be build and installed from source (see the
185 If needed, the readline egg can be build and installed from source (see the
186 wiki page at http://ipython.scipy.org/moin/InstallationOSXLeopard).
186 wiki page at http://ipython.scipy.org/moin/InstallationOSXLeopard).
187
187
188 On Windows, you will need the PyReadline module. PyReadline is a separate,
188 On Windows, you will need the PyReadline module. PyReadline is a separate,
189 Windows only implementation of readline that uses native Windows calls through
189 Windows only implementation of readline that uses native Windows calls through
190 :mod:`ctypes`. The easiest way of installing PyReadline is you use the binary
190 :mod:`ctypes`. The easiest way of installing PyReadline is you use the binary
191 installer available `here <http://ipython.scipy.org/dist/>`_. The :mod:`ctypes`
191 installer available `here <http://ipython.scipy.org/dist/>`_. The :mod:`ctypes`
192 module, which comes with Python 2.5 and greater, is required by PyReadline. It
192 module, which comes with Python 2.5 and greater, is required by PyReadline. It
193 is available for Python 2.4 at http://python.net/crew/theller/ctypes.
193 is available for Python 2.4 at http://python.net/crew/theller/ctypes.
194
194
195 nose
195 nose
196 ----
196 ----
197
197
198 To run the IPython test suite you will need the :mod:`nose` package. Nose
198 To run the IPython test suite you will need the :mod:`nose` package. Nose
199 provides a great way of sniffing out and running all of the IPython tests. The
199 provides a great way of sniffing out and running all of the IPython tests. The
200 simplest way of getting nose, is to use :command:`easy_install`::
200 simplest way of getting nose, is to use :command:`easy_install`::
201
201
202 $ easy_install nose
202 $ easy_install nose
203
203
204 Another way of getting this is to do::
204 Another way of getting this is to do::
205
205
206 $ easy_install ipython[test]
206 $ easy_install ipython[test]
207
207
208 For more installation options, see the `nose website
208 For more installation options, see the `nose website
209 <http://somethingaboutorange.com/mrl/projects/nose/>`_. Once you have nose
209 <http://somethingaboutorange.com/mrl/projects/nose/>`_. Once you have nose
210 installed, you can run IPython's test suite using the iptest command::
210 installed, you can run IPython's test suite using the iptest command::
211
211
212 $ iptest
212 $ iptest
213
213
214
214
215 pexpect
215 pexpect
216 -------
216 -------
217
217
218 The `pexpect <http://www.noah.org/wiki/Pexpect>`_ package is used in IPython's
218 The `pexpect <http://www.noah.org/wiki/Pexpect>`_ package is used in IPython's
219 :command:`irunner` script. On Unix platforms (including OS X), just do::
219 :command:`irunner` script. On Unix platforms (including OS X), just do::
220
220
221 $ easy_install pexpect
221 $ easy_install pexpect
222
222
223 Windows users are out of luck as pexpect does not run there.
223 Windows users are out of luck as pexpect does not run there.
224
224
225 Dependencies for IPython.kernel (parallel computing)
225 Dependencies for IPython.kernel (parallel computing)
226 ====================================================
226 ====================================================
227
227
228 The IPython kernel provides a nice architecture for parallel computing. The
228 The IPython kernel provides a nice architecture for parallel computing. The
229 main focus of this architecture is on interactive parallel computing. These
229 main focus of this architecture is on interactive parallel computing. These
230 features require a number of additional packages:
230 features require a number of additional packages:
231
231
232 * zope.interface (yep, we use interfaces)
232 * zope.interface (yep, we use interfaces)
233 * Twisted (asynchronous networking framework)
233 * Twisted (asynchronous networking framework)
234 * Foolscap (a nice, secure network protocol)
234 * Foolscap (a nice, secure network protocol)
235 * pyOpenSSL (security for network connections)
235 * pyOpenSSL (security for network connections)
236
236
237 On a Unix style platform (including OS X), if you want to use :mod:`setuptools`, you can just do::
237 On a Unix style platform (including OS X), if you want to use :mod:`setuptools`, you can just do::
238
238
239 $ easy_install ipython[kernel] # the first three
239 $ easy_install ipython[kernel] # the first three
240 $ easy_install ipython[security] # pyOpenSSL
240 $ easy_install ipython[security] # pyOpenSSL
241
241
242 zope.interface and Twisted
242 zope.interface and Twisted
243 --------------------------
243 --------------------------
244
244
245 Twisted [Twisted]_ and zope.interface [ZopeInterface]_ are used for networking
245 Twisted [Twisted]_ and zope.interface [ZopeInterface]_ are used for networking
246 related things. On Unix style platforms (including OS X), the simplest way of
246 related things. On Unix style platforms (including OS X), the simplest way of
247 getting the these is to use :command:`easy_install`::
247 getting the these is to use :command:`easy_install`::
248
248
249 $ easy_install zope.interface
249 $ easy_install zope.interface
250 $ easy_install Twisted
250 $ easy_install Twisted
251
251
252 Of course, you can also download the source tarballs from the `Twisted website
252 Of course, you can also download the source tarballs from the `Twisted website
253 <twistedmatrix.org>`_ and the `zope.interface page at PyPI
253 <http://twistedmatrix.com>`_ and the `zope.interface page at PyPI
254 <http://pypi.python.org/pypi/zope.interface>`_ and do the usual ``python
254 <http://pypi.python.org/pypi/zope.interface>`_ and do the usual ``python
255 setup.py install`` if you prefer.
255 setup.py install`` if you prefer.
256
256
257 Windows is a bit different. For zope.interface and Twisted, simply get the latest binary ``.exe`` installer from the Twisted website. This installer includes both zope.interface and Twisted and should just work.
257 Windows is a bit different. For zope.interface and Twisted, simply get the latest binary ``.exe`` installer from the Twisted website. This installer includes both zope.interface and Twisted and should just work.
258
258
259 Foolscap
259 Foolscap
260 --------
260 --------
261
261
262 Foolscap [Foolscap]_ uses Twisted to provide a very nice secure RPC protocol that we use to implement our parallel computing features.
262 Foolscap [Foolscap]_ uses Twisted to provide a very nice secure RPC protocol that we use to implement our parallel computing features.
263
263
264 On all platforms a simple::
264 On all platforms a simple::
265
265
266 $ easy_install foolscap
266 $ easy_install foolscap
267
267
268 should work. You can also download the source tarballs from the `Foolscap
268 should work. You can also download the source tarballs from the `Foolscap
269 website <http://foolscap.lothar.com/trac>`_ and do ``python setup.py install``
269 website <http://foolscap.lothar.com/trac>`_ and do ``python setup.py install``
270 if you prefer.
270 if you prefer.
271
271
272 pyOpenSSL
272 pyOpenSSL
273 ---------
273 ---------
274
274
275 IPython requires an older version of pyOpenSSL [pyOpenSSL]_ (0.6 rather than
275 IPython requires an older version of pyOpenSSL [pyOpenSSL]_ (0.6 rather than
276 the current 0.7). There are a couple of options for getting this:
276 the current 0.7). There are a couple of options for getting this:
277
277
278 1. Most Linux distributions have packages for pyOpenSSL.
278 1. Most Linux distributions have packages for pyOpenSSL.
279 2. The built-in Python 2.5 on OS X 10.5 already has it installed.
279 2. The built-in Python 2.5 on OS X 10.5 already has it installed.
280 3. There are source tarballs on the pyOpenSSL website. On Unix-like
280 3. There are source tarballs on the pyOpenSSL website. On Unix-like
281 platforms, these can be built using ``python seutp.py install``.
281 platforms, these can be built using ``python seutp.py install``.
282 4. There is also a binary ``.exe`` Windows installer on the `pyOpenSSL website <http://pyopenssl.sourceforge.net/>`_.
282 4. There is also a binary ``.exe`` Windows installer on the `pyOpenSSL website <http://pyopenssl.sourceforge.net/>`_.
283
283
284 Dependencies for IPython.frontend (the IPython GUI)
284 Dependencies for IPython.frontend (the IPython GUI)
285 ===================================================
285 ===================================================
286
286
287 wxPython
287 wxPython
288 --------
288 --------
289
289
290 Starting with IPython 0.9, IPython has a new IPython.frontend package that has
290 Starting with IPython 0.9, IPython has a new IPython.frontend package that has
291 a nice wxPython based IPython GUI. As you would expect, this GUI requires
291 a nice wxPython based IPython GUI. As you would expect, this GUI requires
292 wxPython. Most Linux distributions have wxPython packages available and the
292 wxPython. Most Linux distributions have wxPython packages available and the
293 built-in Python on OS X comes with wxPython preinstalled. For Windows, a
293 built-in Python on OS X comes with wxPython preinstalled. For Windows, a
294 binary installer is available on the `wxPython website
294 binary installer is available on the `wxPython website
295 <http://www.wxpython.org/>`_.
295 <http://www.wxpython.org/>`_.
296
296
297 .. [Twisted] Twisted matrix. http://twistedmatrix.org
297 .. [Twisted] Twisted matrix. http://twistedmatrix.com
298 .. [ZopeInterface] http://pypi.python.org/pypi/zope.interface
298 .. [ZopeInterface] http://pypi.python.org/pypi/zope.interface
299 .. [Foolscap] Foolscap network protocol. http://foolscap.lothar.com/trac
299 .. [Foolscap] Foolscap network protocol. http://foolscap.lothar.com/trac
300 .. [pyOpenSSL] pyOpenSSL. http://pyopenssl.sourceforge.net
300 .. [pyOpenSSL] pyOpenSSL. http://pyopenssl.sourceforge.net
General Comments 0
You need to be logged in to leave comments. Login now