blob: a3ee0f80f18a2291d199e1810fad7e959f38afda [file] [log] [blame]
Guido van Rossum901454e2000-06-29 22:28:44 +00001This is Python version 2.0
Guido van Rossum91447632000-04-11 17:11:09 +00002==========================
3
Guido van Rossum901454e2000-06-29 22:28:44 +00004There are various beta versions -- these are distinguishable through
5Include/patchlevel.h or by the name of the top-level directory and the
6tar file.
Guido van Rossum79808261997-12-11 18:01:47 +00007
8
Guido van Rossum8d7d4ed1996-07-30 21:41:07 +00009What's new in this release?
10---------------------------
Guido van Rossum3ff96dd1996-07-30 18:05:04 +000011
Guido van Rossum901454e2000-06-29 22:28:44 +000012See http://www.pythonlabs.com/.
13
14
15Why is it called version 2.0?
16-----------------------------
17
18While Pythoneers have grown fond of Python's exceedingly slow version
19incrementing, that same quality makes parts of the rest of the world
20think that Python is barely out of its first alpha test. Especially
21enterprise customers are often fearful of anything that's version 1.x!
22The new version number also clearly marks departure of Python's core
Jeremy Hylton7efcafb2000-06-30 17:30:18 +000023development team from CNRI to join BeOpen.com.
24
25What happened to Python 1.6? It was promoted and renamed Python 2.0.
26There were two alpha releases of Python 1.6 before we decided to
27increment the major version number.
Guido van Rossum901454e2000-06-29 22:28:44 +000028
29Previously, the version number 2.0 was associated with a mythical and
30elusive incompatible future release. That release (still ways off,
31and not as incompatible as people fear!) is now referred to as Python
323000.
Guido van Rossum64773801997-11-26 17:07:02 +000033
Guido van Rossum64773801997-11-26 17:07:02 +000034
35If you don't read instructions
36------------------------------
37
38Congratulations on getting this far. :-)
39
40To start building right away (on UNIX): type "./configure" in the
41current directory and when it finishes, type "make". The section
42Build Instructions below is still recommended reading. :-)
Guido van Rossum3ff96dd1996-07-30 18:05:04 +000043
44
Guido van Rossum91cb9d21995-04-10 11:47:38 +000045What is Python anyway?
46----------------------
47
48Python is an interpreted object-oriented programming language, and is
Guido van Rossumc0be2f51997-10-08 05:05:28 +000049often compared to Tcl, Perl, Java or Scheme. To find out more, point
Guido van Rossum973e4dc2000-07-01 00:34:39 +000050your browser to http://www.pythonlabs.com/.
Guido van Rossum91cb9d21995-04-10 11:47:38 +000051
52
Guido van Rossumf501b4e1996-10-25 14:32:48 +000053How do I learn Python?
54----------------------
55
Fred Drake0e6444c1999-05-17 19:35:01 +000056The official tutorial is still a good place to start; see
Guido van Rossumd0a42e22000-03-31 20:16:45 +000057http://www.python.org/doc/ for online and downloadable versions, as
58well as a list of other introductions, and reference documentation.
Guido van Rossumf501b4e1996-10-25 14:32:48 +000059
Guido van Rossumd0a42e22000-03-31 20:16:45 +000060There's a quickly growing set of books on Python. See
61http://www.python.org/psa/bookstore/ for a list.
Guido van Rossum8d90f9d1997-05-22 20:13:25 +000062
Guido van Rossumf501b4e1996-10-25 14:32:48 +000063
Guido van Rossum91cb9d21995-04-10 11:47:38 +000064Copyright issues
65----------------
66
67Python is COPYRIGHTED but free to use for all. See the full copyright
Guido van Rossum64773801997-11-26 17:07:02 +000068notice at the end of this file and in the file Misc/COPYRIGHT.
Guido van Rossum91cb9d21995-04-10 11:47:38 +000069
70The Python distribution is *not* affected by the GNU Public Licence
71(GPL). There are interfaces to some GNU code but these are entirely
Guido van Rossum64773801997-11-26 17:07:02 +000072optional and no GNU code is distributed with Python.
Guido van Rossum91cb9d21995-04-10 11:47:38 +000073
Guido van Rossum627b2d71993-12-24 10:39:16 +000074
Guido van Rossum901454e2000-06-29 22:28:44 +000075
Guido van Rossum433c8ad1994-08-01 12:07:07 +000076Build instructions
Guido van Rossum91cb9d21995-04-10 11:47:38 +000077==================
Guido van Rossum627b2d71993-12-24 10:39:16 +000078
Guido van Rossum6d9cc801996-08-01 17:31:22 +000079Before you can build Python, you must first configure it.
80Fortunately, the configuration and build process has been streamlined
81for most Unix installations, so all you have to do is type a few
82commands, optionally edit one file, and sit back. There are some
83platforms where things are not quite as smooth; see the platform
84specific notes below. If you want to build for multiple platforms
85sharing the same source tree, see the section on VPATH below.
Guido van Rossum627b2d71993-12-24 10:39:16 +000086
Guido van Rossum6d9cc801996-08-01 17:31:22 +000087You start by running the script "./configure", which figures out your
88system configuration and creates several Makefiles. (It takes a
89minute or two -- please be patient!) When it's done, you are ready to
90run make. You may want to pass options to the configure script -- see
91the section below on configuration options and variables.
92
93To build Python, you normally type "make" in the toplevel directory.
94This will recursively run make in each of the subdirectories Parser,
95Objects, Python and Modules, creating a library file in each one. The
96executable of the interpreter is built in the Modules subdirectory and
97moved up here when it is built. If you want or need to, you can also
98chdir into each subdirectory in turn and run make there manually (do
99the Modules subdirectory last!).
100
101Once you have built an interpreter, see the subsections below on
102testing, configuring additional modules, and installation. If you run
103in trouble, see the next section.
Guido van Rossum627b2d71993-12-24 10:39:16 +0000104
Guido van Rossum0a516c91994-09-12 10:58:40 +0000105
Guido van Rossum91cb9d21995-04-10 11:47:38 +0000106Troubleshooting
107---------------
Guido van Rossum627b2d71993-12-24 10:39:16 +0000108
Guido van Rossum6d9cc801996-08-01 17:31:22 +0000109See also the platform specific notes in the next section.
110
Guido van Rossumfaf681a1996-06-20 14:32:08 +0000111If recursive makes fail, try invoking make as "make MAKE=make".
112
Guido van Rossum49523691997-08-15 18:30:14 +0000113If you run into other trouble, see section 3 of the FAQ
Guido van Rossum901454e2000-06-29 22:28:44 +0000114(http://www.python.org/cgi-bin/faqw.py or
Guido van Rossum49523691997-08-15 18:30:14 +0000115http://www.python.org/doc/FAQ.html) for hints on what can go wrong,
116and how to fix it.
Guido van Rossum91cb9d21995-04-10 11:47:38 +0000117
Guido van Rossum6d9cc801996-08-01 17:31:22 +0000118If you rerun the configure script with different options, remove all
119object files by running "make clean" before rebuilding. Believe it or
120not, "make clean" sometimes helps to clean up other inexplicable
121problems as well. Try it before sending in a bug report!
122
Guido van Rossumd0fe8451996-08-26 03:02:37 +0000123If the configure script fails or doesn't seem to find things that
Guido van Rossumc0be2f51997-10-08 05:05:28 +0000124should be there, inspect the config.log file. When you fix a
125configure problem, be sure to remove config.cache!
126
127If you get a warning for every file about the -Olimit option being no
128longer supported, you can ignore it. There's no foolproof way to know
129whether this option is needed; all I can do is test whether it is
130accepted without error. On some systems, e.g. older SGI compilers, it
131is essential for performance (specifically when compiling ceval.c,
132which has more basic blocks than the default limit of 1000). If the
133warning bothers you, edit the Makefile to remove "-Olimit 1500" from
134the OPT variable.
Guido van Rossumd0fe8451996-08-26 03:02:37 +0000135
Guido van Rossum91cb9d21995-04-10 11:47:38 +0000136
137Platform specific notes
138-----------------------
139
Guido van Rossum0447a321995-10-08 01:22:33 +0000140(Some of these may no longer apply. If you find you can build Python
141on these platforms without the special directions mentioned here, let
142me know so I can remove them!)
Guido van Rossum91cb9d21995-04-10 11:47:38 +0000143
Guido van Rossumc0be2f51997-10-08 05:05:28 +000014464-bit platforms: The modules audioop, imageop and rgbimg don't work.
145 Don't try to enable them in the Modules/Setup file. They
146 contain code that is quite wordsize sensitive. (If you have a
147 fix, let me know!)
148
Guido van Rossum4462e931997-01-22 21:00:32 +0000149Solaris: When using Sun's C compiler with threads, at least on Solaris
150 2.5.1, you need to add the "-mt" compiler option (the simplest
151 way is probably to specify the compiler with this option as
152 the "CC" environment variable when running the configure
153 script).
154
Guido van Rossum6d9cc801996-08-01 17:31:22 +0000155Linux: On Linux version 1.x, once you've built Python, use it to run
156 the regen script in the Lib/linux1 directory. Apparently
157 the files as distributed don't match the system headers on
158 some Linux versions. (The "h2py" command refers to
159 Tools/scripts/h2py.py.) The modules distributed for Linux 2.x
Guido van Rossumd0fe8451996-08-26 03:02:37 +0000160 should be okay. Shared library support now works by default
Guido van Rossum4462e931997-01-22 21:00:32 +0000161 on ELF-based x86 Linux systems. (Note: when you change the
162 status of a module from static to shared, you must remove its
163 .o file or do a "make clean".)
164
Fred Drake61280911997-12-08 14:10:40 +0000165 Under RedHat Linux 5.0, if upgraded from a previous version,
166 remove the LinuxThreads packages. This is needed because
167 LinuxThreads conflicts with the new thread support provided by
168 glibc. Before running Python's configure script, use the
169 following commands as root (version numbers may differ; these
170 are from a stock 4.2 install):
171
172 % rpm -qa | grep ^linuxthread
173 linuxthreads-0.5-1
174 linuxthreads-devel-0.5-1
175 % rpm -e linuxthreads linuxthreads-devel
176
177 While Python only needs this to be done to allow thread
178 support to be included, the conflicts these packages create
179 with the new glibc may cause other packages which use threads
180 to fail as well, so their removal is a good idea regardless of
181 how you configure python.
182
Guido van Rossumfe23ad71999-04-12 19:01:45 +0000183 More recently, a problem with threads and fork() was tracked
184 down to a bug in the pthreads code in glibc version 2.0.5;
185 glibc version 2.0.7 solves the problem. This causes the
186 popen2 test to fail; problem and solution reported by Pablo
187 Bleyer.
188
Fred Drake61280911997-12-08 14:10:40 +0000189 Also under RedHat Linux 5.0, the crypt module now needs the
190 -lcrypt option. Uncomment this flag in Modules/Setup, or
191 comment out the crypt module in the same file.
192
Guido van Rossum59230501999-06-21 20:51:46 +0000193FreeBSD 3.x and probably platforms with NCurses that use libmytinfo or
194 similar: When using cursesmodule, the linking is not done in
195 the correct order with the defaults. Remove "-ltermcap" from
196 the readline entry in Setup, and use as curses entry: "curses
197 cursesmodule.c -lmytinfo -lncurses -ltermcap" - "mytinfo" (so
198 called on FreeBSD) should be the name of the auxiliary library
199 required on your platform. Normally, it would be linked
200 automatically, but not necessarily in the correct order.
201
Guido van Rossum6ae5d3d1997-05-14 21:39:05 +0000202DEC Unix: When enabling threads, use --with-dec-threads, not
Guido van Rossum9ac9a261998-02-16 22:19:21 +0000203 --with-thread. When using GCC, it is possible to get an
204 internal compiler error if optimization is used. This was
205 reported for GCC 2.7.2.3 on selectmodule.c. Manually compile
206 the affected file without optimization to solve the problem.
Guido van Rossum8eca2c21996-02-14 18:37:46 +0000207
Guido van Rossume1cdb161999-04-10 16:04:07 +0000208DEC Ultrix: compile with GCC to avoid bugs in the native compiler,
209 and pass SHELL=/bin/sh5 to Make when installing.
210
Guido van Rossumd0fe8451996-08-26 03:02:37 +0000211AIX: A complete overhaul of the shared library support is now in
Guido van Rossumcbfcb171997-10-20 22:57:00 +0000212 place. See Misc/AIX-NOTES for some notes on how it's done.
Guido van Rossum9ac9a261998-02-16 22:19:21 +0000213 (The optimizer bug reported at this place in previous releases
214 has been worked around by a minimal code change.)
Guido van Rossumed7f9e21999-11-16 16:03:03 +0000215 In addition, Gary Duzan has a hint for C++ users: to enable
216 full C++ module support, set CC="xlC" (or CC="xlC_r" for thread
217 support in AIX 4.2.1).
Guido van Rossum91cb9d21995-04-10 11:47:38 +0000218
Guido van Rossum59a88f41999-04-12 18:16:09 +0000219HP-UX: Please read the file Misc/HPUX-NOTES for shared libraries.
220 When using threading, you may have to add -D_REENTRANT to the
221 OPT variable in the top-level Makefile; reported by Pat Knight
222 this seems to make a difference (at least for HP-UX 10.20)
223 even though config.h defines it.
Guido van Rossum2094e041998-05-14 15:47:35 +0000224
Guido van Rossum6d9cc801996-08-01 17:31:22 +0000225Minix: When using ack, use "CC=cc AR=aal RANLIB=: ./configure"!
Guido van Rossum91cb9d21995-04-10 11:47:38 +0000226
Guido van Rossuma16e2751998-04-13 20:14:05 +0000227SCO: The following only apply to SCO 3; Python builds out of the box
228 on SCO 5 (or so I've heard).
229
230 1) Everything works much better if you add -U__STDC__ to the
Guido van Rossum91cb9d21995-04-10 11:47:38 +0000231 defs. This is because all the SCO header files are broken.
Guido van Rossum64773801997-11-26 17:07:02 +0000232 Anything that isn't mentioned in the C standard is
Guido van Rossum91cb9d21995-04-10 11:47:38 +0000233 conditionally excluded when __STDC__ is defined.
234
235 2) Due to the U.S. export restrictions, SCO broke the crypt
236 stuff out into a separate library, libcrypt_i.a so the LIBS
237 needed be set to:
238
239 LIBS=' -lsocket -lcrypt_i'
240
Guido van Rossuma16e2751998-04-13 20:14:05 +0000241SunOS 4.x: When using the standard "cc" compiler, certain modules may
Guido van Rossum64773801997-11-26 17:07:02 +0000242 not be compilable because they use non-K&R syntax. You should
243 be able to get a basic Python interpreter by commenting out
244 such modules in the Modules/Setup file, but I really recommend
245 using gcc.
246
247 When using the SunPro C compiler, you may want to use the
248 '-Xa' option instead of '-Xc', to enable some needed non-ANSI
249 Sunisms.
Guido van Rossum91cb9d21995-04-10 11:47:38 +0000250
Guido van Rossumcc55c2d1996-10-21 15:14:27 +0000251NeXT: To build fat binaries, use the --with-next-archs switch
252 described below.
Guido van Rossum6d9cc801996-08-01 17:31:22 +0000253
Guido van Rossumb7f454d1997-12-02 19:44:31 +0000254QNX: Chris Herborth (chrish@qnx.com) writes:
255 configure works best if you use GNU bash; a port is available on
256 ftp.qnx.com in /usr/free. I used the following process to build,
Guido van Rossumd4493421998-12-22 16:37:01 +0000257 test and install Python 1.5.x under QNX:
Guido van Rossumb7f454d1997-12-02 19:44:31 +0000258
Guido van Rossumec95c7b1998-08-04 17:59:56 +0000259 1) CONFIG_SHELL=/usr/local/bin/bash CC=cc RANLIB=: \
260 ./configure --verbose --without-gcc --with-libm=""
Guido van Rossumb7f454d1997-12-02 19:44:31 +0000261
262 2) copy Modules/Setup.in to Modules/Setup; edit Modules/Setup to
263 activate everything that makes sense for your system... tested
264 here at QNX with the following modules:
265
Guido van Rossum6fa49e21998-08-11 17:31:39 +0000266 array, audioop, binascii, cPickle, cStringIO, cmath,
267 crypt, curses, errno, fcntl, gdbm, grp, imageop,
268 _locale, math, md5, new, operator, parser, pcre,
269 posix, pwd, readline, regex, reop, rgbimg, rotor,
270 select, signal, socket, soundex, strop, struct,
Guido van Rossumd4493421998-12-22 16:37:01 +0000271 syslog, termios, time, timing, zlib, audioop, imageop, rgbimg
Guido van Rossumb7f454d1997-12-02 19:44:31 +0000272
Guido van Rossumec95c7b1998-08-04 17:59:56 +0000273 3) make SHELL=/usr/local/bin/bash
274
275 or, if you feel the need for speed:
276
277 make SHELL=/usr/local/bin/bash OPT="-5 -Oil+nrt"
Guido van Rossumb7f454d1997-12-02 19:44:31 +0000278
Guido van Rossumec95c7b1998-08-04 17:59:56 +0000279 4) make SHELL=/usr/local/bin/bash test
280
Guido van Rossum6fa49e21998-08-11 17:31:39 +0000281 Using GNU readline 2.2 seems to behave strangely, but I
282 think that's a problem with my readline 2.2 port. :-\
Guido van Rossumec95c7b1998-08-04 17:59:56 +0000283
284 5) make SHELL=/usr/local/bin/bash install
Guido van Rossumb7f454d1997-12-02 19:44:31 +0000285
Guido van Rossum6fa49e21998-08-11 17:31:39 +0000286 If you get SIGSEGVs while running Python (I haven't yet, but
287 I've only run small programs and the test cases), you're
288 probably running out of stack; the default 32k could be a
289 little tight. To increase the stack size, edit the Makefile
290 in the Modules directory to read: LDFLAGS = -N 48k
Guido van Rossum40d63581997-08-14 19:45:30 +0000291
Guido van Rossumec95c7b1998-08-04 17:59:56 +0000292BeOS: Chris Herborth (chrish@qnx.com) writes:
293 See BeOS/README for notes about compiling/installing Python on
Guido van Rossum6fa49e21998-08-11 17:31:39 +0000294 BeOS R3 or later. Note that only the PowerPC platform is
Guido van Rossumd4493421998-12-22 16:37:01 +0000295 supported for R3; both PowerPC and x86 are supported for R4.
Guido van Rossumec95c7b1998-08-04 17:59:56 +0000296
Guido van Rossum1bf0bf41997-08-20 23:50:51 +0000297Cray T3E: Konrad Hinsen writes:
Guido van Rossum6fa49e21998-08-11 17:31:39 +0000298 1) Don't use gcc. It compiles Python/graminit.c into something
299 that the Cray assembler doesn't like. Cray's cc seems to work
300 fine.
301 2) Uncomment modules md5 (won't compile) and audioop (will
302 crash the interpreter during the test suite).
303 If you run the test suite, two tests will fail (rotate and
304 binascii), but these are not the modules you'd expect to need
305 on a Cray.
Guido van Rossum1bf0bf41997-08-20 23:50:51 +0000306
Guido van Rossum0078aaf1997-08-21 03:05:11 +0000307SGI: SGI's standard "make" utility (/bin/make or /usr/bin/make)
308 does not check whether a command actually changed the file it
309 is supposed to build. This means that whenever you say "make"
310 it will redo the link step. The remedy is to use SGI's much
Guido van Rossumc0be2f51997-10-08 05:05:28 +0000311 smarter "smake " utility (/usr/sbin/smake), or GNU make. If
312 you set the first line of the Makefile to #!/usr/sbin/smake
313 smake will be invoked by make (likewise for GNU make).
Guido van Rossum0078aaf1997-08-21 03:05:11 +0000314
Guido van Rossum9ac9a261998-02-16 22:19:21 +0000315 A bug in the MIPSpro 7.1 compiler's optimizer seems to break
316 Modules/pypcre.c. The short term solution is to compile it
Guido van Rossum0dd010a1998-06-30 16:58:58 +0000317 without optimization. The bug is fixed in version 7.2.1 of
318 the compiler.
Guido van Rossum9ac9a261998-02-16 22:19:21 +0000319
Guido van Rossumf5ade401999-01-11 16:45:44 +0000320 A bug in gcc-2.8.1 sets sys.maxint to -1 which *also* seems to
321 break Modules/pypcre.c. The egcs versions of gcc fix this
Guido van Rossum583b0191999-01-11 16:47:30 +0000322 problem. Or use configure --without-gcc to compile with SGI's
323 compiler, if you have it. (Raj Srinivasan, Kelvin Chu)
Guido van Rossumf5ade401999-01-11 16:45:44 +0000324
Guido van Rossum64773801997-11-26 17:07:02 +0000325OS/2: If you are running Warp3 or Warp4 and have IBM's VisualAge C/C++
326 compiler installed, just change into the pc\os2vacpp directory
327 and type NMAKE. Threading and sockets are supported by default
328 in the resulting binaries of PYTHON15.DLL and PYTHON.EXE.
329
Guido van Rossum6d9cc801996-08-01 17:31:22 +0000330
Guido van Rossumdc8a3cb1998-05-12 15:29:18 +0000331Configuring threads
332-------------------
333
334The main switch to configure threads is to run the configure script
335(see below) with the --with-thread switch (on DEC, use
336--with-dec-threads). Unfortunately, on some platforms, additional
337compiler and/or linker options are required. Below is a table of
338those options, collected by Bill Janssen. I would love to automate
339this process more, but the information below is not enough to write a
340patch for the configure.in file, so manual intervention is required.
341If you patch the configure.in file and are confident that the patch
342works, please send me the patch. (Don't bother patching the configure
343script itself -- it is regenerated each the configure.in file
344changes.)
345
346Compiler switches for threads
347.............................
348
349 OS/Compiler/threads Switches for use with threads
350 (POSIX is draft 10, DCE is draft 4) (1) compile only (2) compile & link
351
352 SunOS 5.{1-5}/{gcc,SunPro cc}/solaris (1) -D_REENTRANT (2) -mt
353 SunOS 5.5/{gcc,SunPro cc}/POSIX (1) -D_REENTRANT
354 DEC OSF/1 3.x/cc/DCE (1) -D_REENTRANT (2) -threads
355 (butenhof@zko.dec.com)
356 Digital UNIX 4.x/cc/DCE (1) -D_REENTRANT (2) -threads
357 (butenhof@zko.dec.com)
358 Digital UNIX 4.x/cc/POSIX (1) -D_REENTRANT (2) -pthread
359 (butenhof@zko.dec.com)
360 AIX 4.1.4/cc_r/d7 (nothing)
361 (buhrt@iquest.net)
362 AIX 4.1.4/cc_r4/DCE (nothing)
363 (buhrt@iquest.net)
364 IRIX 6.2/cc/POSIX (nothing)
365 (robertl@cwi.nl)
366
367
368Linker (ld) libraries and flags for threads
369...........................................
370
371 OS/threads Libraries/switches for use with threads
372
373 SunOS 5.{1-5}/solaris -lthread
374 SunOS 5.5/POSIX -lpthread
375 DEC OSF/1 3.x/DCE -lpthreads -lmach -lc_r -lc
376 (butenhof@zko.dec.com)
377 Digital UNIX 4.x/DCE -lpthreads -lpthread -lmach -lexc -lc
378 (butenhof@zko.dec.com)
379 Digital UNIX 4.x/POSIX -lpthread -lmach -lexc -lc
380 (butenhof@zko.dec.com)
381 AIX 4.1.4/{draft7,DCE} (nothing)
382 (buhrt@iquest.net)
383 IRIX 6.2/POSIX -lpthread
384 (jph@emilia.engr.sgi.com)
385
386
Guido van Rossum6d9cc801996-08-01 17:31:22 +0000387Configuring additional built-in modules
Guido van Rossum91cb9d21995-04-10 11:47:38 +0000388---------------------------------------
Guido van Rossum19e0c261995-01-17 16:36:34 +0000389
Guido van Rossum433c8ad1994-08-01 12:07:07 +0000390You can configure the interpreter to contain fewer or more built-in
391modules by editing the file Modules/Setup. This file is initially
392copied (when the toplevel Makefile makes Modules/Makefile for the
393first time) from Setup.in; if it does not exist yet, make a copy
394yourself. Never edit Setup.in -- always edit Setup. Read the
395comments in the file for information on what kind of edits you can
396make. When you have edited Setup, Makefile and config.c in Modules
397will automatically be rebuilt the next time you run make in the
Guido van Rossum6d9cc801996-08-01 17:31:22 +0000398toplevel directory. (When working inside the Modules directory, use
399"make Makefile; make".)
Guido van Rossum627b2d71993-12-24 10:39:16 +0000400
Guido van Rossum6d9cc801996-08-01 17:31:22 +0000401The default collection of modules should build on any Unix system, but
402many optional modules should work on all modern Unices (e.g. try dbm,
Guido van Rossumd0fe8451996-08-26 03:02:37 +0000403nis, termios, timing, syslog, curses, new, soundex, parser). Often
Guido van Rossum6d9cc801996-08-01 17:31:22 +0000404the quickest way to determine whether a particular module works or not
405is to see if it will build: enable it in Setup, then if you get
406compilation or link errors, disable it -- you're missing support.
407
408On SGI IRIX, there are modules that interface to many SGI specific
409system libraries, e.g. the GL library and the audio hardware.
410
411For SunOS and Solaris, enable module "sunaudiodev" to support the
412audio device.
Guido van Rossum91cb9d21995-04-10 11:47:38 +0000413
Guido van Rossum4462e931997-01-22 21:00:32 +0000414In addition to the file Setup, you can also edit the file Setup.local.
415(the makesetup script processes both). You may find it more
416convenient to edit Setup.local and leave Setup alone. Then, when
417installing a new Python version, you can copy your old Setup.local
418file.
419
Guido van Rossum91cb9d21995-04-10 11:47:38 +0000420
421Setting the optimization/debugging options
422------------------------------------------
423
Guido van Rossum6d9cc801996-08-01 17:31:22 +0000424If you want or need to change the optimization/debugging options for
425the C compiler, assign to the OPT variable on the toplevel make
426command; e.g. "make OPT=-g" will build a debugging version of Python
427on most platforms. The default is OPT=-O; a value for OPT in the
428environment when the configure script is run overrides this default
429(likewise for CC; and the initial value for LIBS is used as the base
430set of libraries to link with).
Guido van Rossum91cb9d21995-04-10 11:47:38 +0000431
432
433Testing
434-------
Guido van Rossum433c8ad1994-08-01 12:07:07 +0000435
436To test the interpreter that you have just built, type "make test".
Guido van Rossum6ae5d3d1997-05-14 21:39:05 +0000437This runs the test set twice (once with no compiled files, once with
438the compiled files left by the previous test run). The test set
439produces some output. You can generally ignore the messages about
440skipped tests due to an optional feature that can't be imported (if
441you want to test those modules, edit Modules/Setup to configure them).
442If a messages is printed about a failed test or a traceback or core
Guido van Rossum24df6841997-12-30 04:32:30 +0000443dump is produced, something's wrong. On some Linux systems (those
444that are not yet using glibc 6), test_strftime fails due to a
445non-standard-compliant implementation of strftime() in the C library.
446Please ignore this, or upgrade to glibc version 6.
Guido van Rossum433c8ad1994-08-01 12:07:07 +0000447
Guido van Rossum91cb9d21995-04-10 11:47:38 +0000448IMPORTANT: If the tests fail and you decide to mail a bug report,
449*don't* include the output of "make test". It is useless. Run the
Guido van Rossum6ae5d3d1997-05-14 21:39:05 +0000450test that fails manually, as follows:
Guido van Rossum91cb9d21995-04-10 11:47:38 +0000451
Guido van Rossum6ae5d3d1997-05-14 21:39:05 +0000452 python ../Lib/test/test_whatever.py
Guido van Rossum91cb9d21995-04-10 11:47:38 +0000453
454(substituting the top of the source tree for .. if you built in a
Guido van Rossum6ae5d3d1997-05-14 21:39:05 +0000455different directory). This runs the test in verbose mode.
Guido van Rossum91cb9d21995-04-10 11:47:38 +0000456
457
458Installing
459----------
460
Guido van Rossum6d9cc801996-08-01 17:31:22 +0000461To install the Python binary, library modules, shared library modules
462(see below), include files, configuration files, and the manual page,
Guido van Rossum64773801997-11-26 17:07:02 +0000463just type
464
465 make install
466
467This will install all platform-independent files in subdirectories the
468directory given with the --prefix option to configure or the 'prefix'
469Make variable (default /usr/local), and all binary and other
470platform-specific files in subdirectories if the directory given by
471--exec-prefix or the 'exec_prefix' Make variable (defaults to the
472--prefix directory).
473
474All subdirectories created will have Python's version number in their
475name, e.g. the library modules are installed in
Guido van Rossum901454e2000-06-29 22:28:44 +0000476"/usr/local/lib/python2.0/" by default. The Python binary is
477installed as "python2.0" and a hard link named "python" is created.
Guido van Rossum64773801997-11-26 17:07:02 +0000478The only file not installed with a version number in its name is the
479manual page, installed as "/usr/local/man/man1/python.1" by default.
Guido van Rossum433c8ad1994-08-01 12:07:07 +0000480
Guido van Rossum901454e2000-06-29 22:28:44 +0000481If you have a previous installation of a pre-2.0 Python that you don't
Guido van Rossum64773801997-11-26 17:07:02 +0000482want to replace yet, use
483
484 make altinstall
485
486This installs the same set of files as "make install" except it
Guido van Rossum901454e2000-06-29 22:28:44 +0000487doesn't create the hard link to "python2.0" named "python" and it
Guido van Rossum64773801997-11-26 17:07:02 +0000488doesn't install the manual page at all.
Guido van Rossum6d9cc801996-08-01 17:31:22 +0000489
490The only thing you may have to install manually is the Python mode for
491Emacs. (But then again, more recent versions of Emacs may already
492have it!) This is the file Misc/python-mode.el; follow the
493instructions that came with Emacs for installation of site specific
494files.
Guido van Rossum433c8ad1994-08-01 12:07:07 +0000495
Guido van Rossum91cb9d21995-04-10 11:47:38 +0000496
497Configuration options and variables
498-----------------------------------
Guido van Rossum433c8ad1994-08-01 12:07:07 +0000499
Guido van Rossum6d9cc801996-08-01 17:31:22 +0000500Some special cases are handled by passing options to the configure
501script.
Guido van Rossum433c8ad1994-08-01 12:07:07 +0000502
Guido van Rossum6d9cc801996-08-01 17:31:22 +0000503WARNING: if you rerun the configure script with different options, you
504must run "make clean" before rebuilding. Exceptions to this rule:
505after changing --prefix or --exec-prefix, all you need to do is remove
Guido van Rossumb06df271997-08-05 21:50:20 +0000506Modules/getpath.o.
Guido van Rossum433c8ad1994-08-01 12:07:07 +0000507
Guido van Rossum91cb9d21995-04-10 11:47:38 +0000508--with(out)-gcc: The configure script uses gcc (the GNU C compiler) if
509 it finds it. If you don't want this, or if this compiler is
510 installed but broken on your platform, pass the option
511 --without-gcc. You can also pass "CC=cc" (or whatever the
512 name of the proper C compiler is) in the environment, but the
513 advantage of using --without-gcc is that this option is
514 remembered by the config.status script for its --recheck
515 option.
Guido van Rossum76be6ed1995-01-02 18:33:54 +0000516
Guido van Rossum91cb9d21995-04-10 11:47:38 +0000517--prefix, --exec-prefix: If you want to install the binaries and the
518 Python library somewhere else than in /usr/local/{bin,lib},
519 you can pass the option --prefix=DIRECTORY; the interpreter
520 binary will be installed as DIRECTORY/bin/python and the
521 library files as DIRECTORY/lib/python/*. If you pass
522 --exec-prefix=DIRECTORY (as well) this overrides the
523 installation prefix for architecture-dependent files (like the
524 interpreter binary). Note that --prefix=DIRECTORY also
525 affects the default module search path (sys.path), when
526 Modules/config.c is compiled. Passing make the option
527 prefix=DIRECTORY (and/or exec_prefix=DIRECTORY) overrides the
528 prefix set at configuration time; this may be more convenient
529 than re-running the configure script if you change your mind
530 about the install prefix...
Guido van Rossum76be6ed1995-01-02 18:33:54 +0000531
Guido van Rossumb06df271997-08-05 21:50:20 +0000532--with-readline: This option is no longer supported. To use GNU
533 readline, enable module "readline" in the Modules/Setup file.
Guido van Rossum91cb9d21995-04-10 11:47:38 +0000534
Guido van Rossumfaf681a1996-06-20 14:32:08 +0000535--with-thread: On most Unix systems, you can now use multiple threads.
Guido van Rossum4462e931997-01-22 21:00:32 +0000536 To enable this, pass --with-thread. (--with-threads is an
537 alias.) If the library required for threads lives in a
Guido van Rossum8d90f9d1997-05-22 20:13:25 +0000538 peculiar place, you can use --with-thread=DIRECTORY. NOTE:
539 you must also enable the thread module by uncommenting it in
540 the Modules/Setup file. (Threads aren't enabled automatically
541 because there are run-time penalties when support for them is
542 compiled in even if you don't use them.) IMPORTANT: run "make
543 clean" after changing (either enabling or disabling) this
Guido van Rossum0e13da91998-02-22 04:36:34 +0000544 option, or you will get link errors! Note: for DEC Unix use
545 --with-dec-threads instead.
Guido van Rossum91cb9d21995-04-10 11:47:38 +0000546
547--with-sgi-dl: On SGI IRIX 4, dynamic loading of extension modules is
548 supported by the "dl" library by Jack Jansen, which is
Guido van Rossum6d9cc801996-08-01 17:31:22 +0000549 ftp'able from ftp://ftp.cwi.nl/pub/dynload/dl-1.6.tar.Z.
Guido van Rossum91cb9d21995-04-10 11:47:38 +0000550 This is enabled (after you've ftp'ed and compiled the dl
551 library!) by passing --with-sgi-dl=DIRECTORY where DIRECTORY
552 is the absolute pathname of the dl library. (Don't bother on
553 IRIX 5, it already has dynamic linking using SunOS style
554 shared libraries.) Support for this feature is deprecated.
555
556--with-dl-dld: Dynamic loading of modules is rumoured to be supported
557 on some other systems: VAX (Ultrix), Sun3 (SunOS 3.4), Sequent
558 Symmetry (Dynix), and Atari ST. This is done using a
559 combination of the GNU dynamic loading package
Guido van Rossum6d9cc801996-08-01 17:31:22 +0000560 (ftp://ftp.cwi.nl/pub/dynload/dl-dld-1.1.tar.Z) and an
Guido van Rossum91cb9d21995-04-10 11:47:38 +0000561 emulation of the SGI dl library mentioned above (the emulation
562 can be found at
Guido van Rossum6d9cc801996-08-01 17:31:22 +0000563 ftp://ftp.cwi.nl/pub/dynload/dld-3.2.3.tar.Z). To
Guido van Rossum91cb9d21995-04-10 11:47:38 +0000564 enable this, ftp and compile both libraries, then call the
565 configure passing it the option
566 --with-dl-dld=DL_DIRECTORY,DLD_DIRECTORY where DL_DIRECTORY is
567 the absolute pathname of the dl emulation library and
568 DLD_DIRECTORY is the absolute pathname of the GNU dld library.
569 (Don't bother on SunOS 4 or 5, they already have dynamic
570 linking using shared libraries.) Support for this feature is
571 deprecated.
572
573--with-libm, --with-libc: It is possible to specify alternative
574 versions for the Math library (default -lm) and the C library
575 (default the empty string) using the options
576 --with-libm=STRING and --with-libc=STRING, respectively. E.g.
577 if your system requires that you pass -lc_s to the C compiler
578 to use the shared C library, you can pass --with-libc=-lc_s.
579 These libraries are passed after all other libraries, the C
580 library last.
Guido van Rossum3ff96dd1996-07-30 18:05:04 +0000581
582--with-next-archs='arch1 arch2': Under NEXTSTEP, this will build
583 all compiled binaries with the architectures listed. Includes
584 correctly setting the target architecture specific resource
Guido van Rossumcc55c2d1996-10-21 15:14:27 +0000585 directory. (This option is not supported on other platforms.)
Guido van Rossum76be6ed1995-01-02 18:33:54 +0000586
Guido van Rossumd02ba451996-07-31 17:36:01 +0000587--with-libs='libs': Add 'libs' to the LIBS that the python
588 linked against.
589
Guido van Rossum76be6ed1995-01-02 18:33:54 +0000590
Guido van Rossum433c8ad1994-08-01 12:07:07 +0000591Building for multiple architectures (using the VPATH feature)
592-------------------------------------------------------------
593
594If your file system is shared between multiple architectures, it
595usually is not necessary to make copies of the sources for each
596architecture you want to support. If the make program supports the
597VPATH feature, you can create an empty build directory for each
598architecture, and in each directory run the configure script (on the
599appropriate machine with the appropriate options). This creates the
600necessary subdirectories and the Makefiles therein. The Makefiles
601contain a line VPATH=... which points to directory containing the
Guido van Rossumd0fe8451996-08-26 03:02:37 +0000602actual sources. (On SGI systems, use "smake -J1" instead of "make" if
603you use VPATH -- don't try gnumake.)
Guido van Rossum433c8ad1994-08-01 12:07:07 +0000604
605For example, the following is all you need to build a minimal Python
606in /usr/tmp/python (assuming ~guido/src/python is the toplevel
607directory and you want to build in /usr/tmp/python):
608
609 $ mkdir /usr/tmp/python
610 $ cd /usr/tmp/python
611 $ ~guido/src/python/configure
612 [...]
613 $ make
614 [...]
615 $
616
Guido van Rossum433c8ad1994-08-01 12:07:07 +0000617Note that Modules/Makefile copies the original Setup file to the build
618directory if it finds no Setup file there. This means that you can
619edit the Setup file for each architecture independently. For this
620reason, subsequent changes to the original Setup file are not tracked
621automatically, as they might overwrite local changes. To force a copy
622of a changed original Setup file, delete the target Setup file. (The
623makesetup script supports multiple input files, so if you want to be
624fancy you can change the rules to create an empty Setup.local if it
625doesn't exist and run it with arguments $(srcdir)/Setup Setup.local;
626however this assumes that you only need to add modules.)
627
628
Guido van Rossum433c8ad1994-08-01 12:07:07 +0000629Building on non-UNIX systems
630----------------------------
631
Guido van Rossum31ae2071999-04-12 14:47:30 +0000632For Windows 95/98 or NT, assuming you have MS VC++ 5.0 or 6.0, the
633project files are in PCbuild, the workspace is pcbuild.dsw. (The
634project files are for VC++ 5.0, but VC++ 6.0 will convert them for
635you -- start VC++ and then use Open Workspace.)
Guido van Rossum8d7d4ed1996-07-30 21:41:07 +0000636
Guido van Rossum31ae2071999-04-12 14:47:30 +0000637For other non-Unix Windows compilers, in particular Windows 3.1 and
638for OS/2, enter the directory "PC" and read the file "readme.txt".
Guido van Rossum6d9cc801996-08-01 17:31:22 +0000639
640For the Mac, a separate source distribution will be made available,
641for use with the CodeWarrior compiler. If you are interested in Mac
642development, join the PythonMac Special Interest Group
643(http://www.python.org/sigs/pythonmac-sig/, or send email to
644pythonmac-sig-request@python.org).
645
646Of course, there are also binary distributions available for these
Guido van Rossum973e4dc2000-07-01 00:34:39 +0000647platforms -- see http://www.pythonlabs.com/downloads.html
Guido van Rossum6d9cc801996-08-01 17:31:22 +0000648
649To port Python to a new non-UNIX system, you will have to fake the
650effect of running the configure script manually (for Mac and PC, this
651has already been done for you). A good start is to copy the file
Guido van Rossum433c8ad1994-08-01 12:07:07 +0000652config.h.in to config.h and edit the latter to reflect the actual
653configuration of your system. Most symbols must simply be defined as
6541 only if the corresponding feature is present and can be left alone
Tim Peters4f1b2082000-07-23 21:18:09 +0000655otherwise; however the *_t type symbols must be defined as some variant
656of int if they need to be defined at all.
Guido van Rossum433c8ad1994-08-01 12:07:07 +0000657
658
Guido van Rossum91cb9d21995-04-10 11:47:38 +0000659
660Miscellaneous issues
661====================
662
Guido van Rossum91cb9d21995-04-10 11:47:38 +0000663Documentation
664-------------
665
Fred Drake0e6444c1999-05-17 19:35:01 +0000666All documentation is provided online in a variety of formats. In
667order of importance for new users: Tutorial, Library Reference,
668Language Reference, Extending & Embedding, and the Python/C API.
Guido van Rossum91cb9d21995-04-10 11:47:38 +0000669Especially the Library Reference is of immense value since much of
670Python's power (including the built-in data types and functions!) is
Fred Drake0e6444c1999-05-17 19:35:01 +0000671described there.
Guido van Rossum91cb9d21995-04-10 11:47:38 +0000672
Fred Drake0e6444c1999-05-17 19:35:01 +0000673All documentation is also available online via the Python web site
Guido van Rossum973e4dc2000-07-01 00:34:39 +0000674(http://www.python.org/doc/, see below). It is available online for
Fred Drake0e6444c1999-05-17 19:35:01 +0000675occaissional reference, or can be downloaded in many formats for
676faster access. The documents are available in HTML, PostScript, PDF,
677HTML Help, and LaTeX; the LaTeX version is primarily for documentation
678authors or people with special formatting requirements.
Guido van Rossum91cb9d21995-04-10 11:47:38 +0000679
680
681Emacs mode
682----------
683
Guido van Rossumc0be2f51997-10-08 05:05:28 +0000684There's an excellent Emacs editing mode for Python code; see the file
685Misc/python-mode.el. Originally written by the famous Tim Peters, it
686is now maintained by the equally famous Barry Warsaw
Guido van Rossum973e4dc2000-07-01 00:34:39 +0000687<bwarsaw@python.org>. The latest version, along with various other
688contributed Python-related Emacs goodies, is online at
Barry Warsawfe216b71998-05-29 20:56:34 +0000689<http://www.python.org/emacs/python-mode>. And if you are planning to
690edit the Python C code, please pick up the latest version of CC Mode
691<http://www.python.org/emacs/cc-mode>; it contains a "python" style
Guido van Rossum973e4dc2000-07-01 00:34:39 +0000692used throughout most of the Python C source files. (Newer versions of
693Emacs or XEmacs may already come with the latest version of
694python-mode.)
Guido van Rossum91cb9d21995-04-10 11:47:38 +0000695
696
Guido van Rossum8d7d4ed1996-07-30 21:41:07 +0000697Web site
698--------
699
Guido van Rossum973e4dc2000-07-01 00:34:39 +0000700Python's own web site has URL http://www.pythonlabs.com/. Come visit
701us!
Guido van Rossum91cb9d21995-04-10 11:47:38 +0000702
703
Guido van Rossuma16e2751998-04-13 20:14:05 +0000704Newsgroups
705----------
Guido van Rossum91cb9d21995-04-10 11:47:38 +0000706
Guido van Rossuma16e2751998-04-13 20:14:05 +0000707Read comp.lang.python, a high-volume discussion newsgroup about
708Python, or comp.lang.python.announce, a low-volume moderated newsgroup
709for Python-related announcements. These are also accessible as
710mailing lists, see the next item.
Guido van Rossumd0fe8451996-08-26 03:02:37 +0000711
Guido van Rossuma16e2751998-04-13 20:14:05 +0000712Archives are accessible via Deja News; the Python website has a
713query form for the archives at http://www.python.org/search/.
714
715
716Mailing lists
717-------------
718
719See http://www.python.org/psa/MailingLists.html for an overview of the
720many Python related mailing lists.
Guido van Rossumd0fe8451996-08-26 03:02:37 +0000721
722
723Bug reports
724-----------
725
Guido van Rossum973e4dc2000-07-01 00:34:39 +0000726To report or search for bugs, please use the Python Bugs List at
727http://www.python.org/search/search_bugs.html
Guido van Rossumd0fe8451996-08-26 03:02:37 +0000728
729
730Questions
731---------
732
Guido van Rossum49523691997-08-15 18:30:14 +0000733For help, if you can't find it in the manuals or on the web site, it's
734best to post to the comp.lang.python or the Python mailing list (see
735above). If you specifically don't want to involve the newsgroup or
Guido van Rossum973e4dc2000-07-01 00:34:39 +0000736mailing list, send questions to <help@python.org> (a group of
Guido van Rossumc0be2f51997-10-08 05:05:28 +0000737volunteers which does *not* include me). Because of my work and email
738volume, I'm often be slow in answering questions sent to me directly;
739I prefer to answer questions posted to the newsgroup.
Guido van Rossum91cb9d21995-04-10 11:47:38 +0000740
741
742The Tk interface
743----------------
744
745Tk (the user interface component of John Ousterhout's Tcl language) is
746also usable from Python. Since this requires that you first build and
Guido van Rossumc0be2f51997-10-08 05:05:28 +0000747install Tcl/Tk, the Tk interface is not enabled by default. Python
Guido van Rossum973e4dc2000-07-01 00:34:39 +0000748supports Tcl/Tk starting with version 8.0.
Guido van Rossum6d9cc801996-08-01 17:31:22 +0000749
Guido van Rossum973e4dc2000-07-01 00:34:39 +0000750See http://dev.ajubasolutions.com/ for more info on Tcl/Tk, including
751the on-line manual pages.
Guido van Rossum64773801997-11-26 17:07:02 +0000752
Guido van Rossum91cb9d21995-04-10 11:47:38 +0000753
754To enable the Python/Tk interface, once you've built and installed
Guido van Rossum64773801997-11-26 17:07:02 +0000755Tcl/Tk, load the file Modules/Setup in your favorite text editor and
756search for the string "_tkinter". Then follow the instructions found
757there. If you have installed Tcl/Tk or X11 in unusual places, you
758will have to edit the first line to fix or add -I and -L options.
759(Also see the general instructions at the top of that file.)
Guido van Rossum91cb9d21995-04-10 11:47:38 +0000760
Guido van Rossum973e4dc2000-07-01 00:34:39 +0000761For more Tkinter information, see the Tkinter Resource page:
762http://www.python.org/topics/tkinter/
Guido van Rossumc0be2f51997-10-08 05:05:28 +0000763
Guido van Rossum6d9cc801996-08-01 17:31:22 +0000764There are demos in the Demo/tkinter directory, in the subdirectories
765guido, matt and www (the matt and guido subdirectories have been
766overhauled to use more recent Tkinter coding conventions).
Guido van Rossum91cb9d21995-04-10 11:47:38 +0000767
768Note that there's a Python module called "Tkinter" (capital T) which
Guido van Rossum6d9cc801996-08-01 17:31:22 +0000769lives in Lib/tkinter/Tkinter.py, and a C module called "_tkinter"
770(lower case t and leading underscore) which lives in
771Modules/_tkinter.c. Demos and normal Tk applications only import the
772Python Tkinter module -- only the latter uses the C _tkinter module
773directly. In order to find the C _tkinter module, it must be compiled
774and linked into the Python interpreter -- the _tkinter line in the
775Setup file does this. In order to find the Python Tkinter module,
776sys.path must be set correctly -- the TKPATH assignment in the Setup
777file takes care of this, but only if you install Python properly
778("make install libinstall"). (You can also use dynamic loading for
779the C _tkinter module, in which case you must manually fix up sys.path
780or set $PYTHONPATH for the Python Tkinter module.)
Guido van Rossum84c8c7f1995-08-28 02:44:24 +0000781
Guido van Rossum91cb9d21995-04-10 11:47:38 +0000782
Guido van Rossum433c8ad1994-08-01 12:07:07 +0000783Distribution structure
784----------------------
785
786Most subdirectories have their own README file. Most files have
787comments.
788
Guido van Rossum6d9cc801996-08-01 17:31:22 +0000789Demo/ Demonstration scripts, modules and programs
Guido van Rossum6d9cc801996-08-01 17:31:22 +0000790Grammar/ Input for the parser generator
791Include/ Public header files
792Lib/ Python library modules
793Makefile.in Source from which config.status creates Makefile
Guido van Rossumc0be2f51997-10-08 05:05:28 +0000794Misc/ Miscellaneous useful files
Guido van Rossum6d9cc801996-08-01 17:31:22 +0000795Modules/ Implementation of most built-in modules
796Objects/ Implementation of most built-in object types
Guido van Rossum64773801997-11-26 17:07:02 +0000797PC/ PC porting files (DOS, Windows, OS/2)
798PCbuild/ Directory where you should build for Windows NT/95
Guido van Rossum6d9cc801996-08-01 17:31:22 +0000799Parser/ The parser and tokenizer and their input handling
800Python/ The "compiler" and interpreter
801README The file you're reading now
802Tools/ Some useful programs written in Python
803acconfig.h Additional input for the autoheader program
804config.h.in Source from which config.status creates config.h
805configure Configuration shell script (GNU autoconf output)
806configure.in Configuration specification (GNU autoconf input)
807install-sh Shell script used to install files
Guido van Rossum91cb9d21995-04-10 11:47:38 +0000808
809The following files will (may) be created in the toplevel directory by
810the configuration and build processes:
811
Guido van Rossum6d9cc801996-08-01 17:31:22 +0000812Makefile Build rules
813config.cache cache of configuration variables
814config.h Configuration header
Guido van Rossumc0be2f51997-10-08 05:05:28 +0000815config.log Log from last configure run
816config.status Status from last run of configure script
Guido van Rossum901454e2000-06-29 22:28:44 +0000817libpython2.0.a The library archive
Guido van Rossum6d9cc801996-08-01 17:31:22 +0000818python The executable interpreter
819tags, TAGS Tags files for vi and Emacs
Guido van Rossum433c8ad1994-08-01 12:07:07 +0000820
821
Guido van Rossum901454e2000-06-29 22:28:44 +0000822
823How to reach the author
824=======================
Guido van Rossum433c8ad1994-08-01 12:07:07 +0000825
826Guido van Rossum
Guido van Rossum901454e2000-06-29 22:28:44 +0000827BeOpen.com
828160 Saratoga Avenue, Suite 46
829Santa Clara, CA 95051
Guido van Rossum433c8ad1994-08-01 12:07:07 +0000830
Guido van Rossum901454e2000-06-29 22:28:44 +0000831E-mail: guido@beopen.com or guido@python.org
Guido van Rossum433c8ad1994-08-01 12:07:07 +0000832
833
Guido van Rossum91cb9d21995-04-10 11:47:38 +0000834
835Copyright notice
836================
Guido van Rossum433c8ad1994-08-01 12:07:07 +0000837
838The Python source is copyrighted, but you can freely use and copy it
Guido van Rossum901454e2000-06-29 22:28:44 +0000839as long as you don't change or remove the copyright notice. The
840copyright notice is found in the Misc/COPYRIGHT file.
Guido van Rossum433c8ad1994-08-01 12:07:07 +0000841
842
Guido van Rossumfaf681a1996-06-20 14:32:08 +0000843--Guido van Rossum (home page: http://www.python.org/~guido/)