blob: 36c0e413052b2250ff9615146cec2479dd7b3459 [file] [log] [blame]
Benjamin Peterson46ea4f72009-06-27 21:40:27 +00001This is Python version 3.2
Benjamin Peterson39285162009-06-26 13:11:28 +00002==========================
Guido van Rossum91447632000-04-11 17:11:09 +00003
Benjamin Petersonb7b00192010-01-01 04:49:25 +00004Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
Christian Heimesb558a2e2008-03-02 22:46:37 +00005Python Software Foundation.
6All rights reserved.
Guido van Rossum4405cf32007-08-30 17:16:55 +00007
Barry Warsaw97f005d2008-12-03 16:46:14 +00008Python 3.x is a new version of the language, which is incompatible with the
92.x line of releases. The language is mostly the same, but many details,
10especially how built-in objects like dictionaries and strings work, have
11changed considerably, and a lot of deprecated features have finally been
12removed.
Guido van Rossum1c896e32007-08-29 23:03:30 +000013
Guido van Rossum50e9fb92006-08-17 05:42:55 +000014
Benjamin Peterson1da43e52009-06-26 13:21:52 +000015Build Instructions
16------------------
Guido van Rossum3ff96dd1996-07-30 18:05:04 +000017
Benjamin Peterson1da43e52009-06-26 13:21:52 +000018On Unix, Linux, BSD, OSX, and Cygwin:
19
20 ./configure
21 make
22 make test
23 sudo make install
24
25This will install Python as python3.
26
27You can pass many options to the configure script; run "./configure
28--help" to find out more. On OSX and Cygwin, the executable is called
29python.exe; elsewhere it's just python.
30
31On Mac OS X, if you have configured Python with --enable-framework,
32you should use "make frameworkinstall" to do the installation. Note
33that this installs the Python executable in a place that is not
34normally on your PATH, you may want to set up a symlink in
35/usr/local/bin.
36
37On Windows, see PCbuild/readme.txt.
38
39If you wish, you can create a subdirectory and invoke configure from
40there. For example:
41
42 mkdir debug
43 cd debug
44 ../configure --with-pydebug
45 make
46 make test
47
48(This will fail if you *also* built at the top-level directory. You
49should do a "make clean" at the toplevel first.)
50
51
52What's New
53----------
54
55We try to have a comprehensive overview of the changes in the "What's New in
56Python 3.1" document, found at
57
58 http://docs.python.org/dev/3.1/whatsnew/3.1.html
59
60For a more detailed change log, read Misc/NEWS (though this file, too,
61is incomplete, and also doesn't list anything merged in from the 2.7
62release under development).
63
64If you want to install multiple versions of Python see the section below
65entitled "Installing multiple versions".
Guido van Rossum8d90f9d1997-05-22 20:13:25 +000066
Guido van Rossumf501b4e1996-10-25 14:32:48 +000067
Guido van Rossumc07d5fa2000-09-01 22:50:02 +000068Documentation
69-------------
Guido van Rossum91cb9d21995-04-10 11:47:38 +000070
Barry Warsaw97f005d2008-12-03 16:46:14 +000071Documentation for Python 3.1 is online, updated twice a day:
Guido van Rossum91cb9d21995-04-10 11:47:38 +000072
Barry Warsaw97f005d2008-12-03 16:46:14 +000073 http://docs.python.org/dev/3.1/
Guido van Rossumc07d5fa2000-09-01 22:50:02 +000074
Benjamin Peterson2a691a82008-03-31 01:51:45 +000075All documentation is also available online at the Python web site
Barry Warsawbb5cd082008-04-02 23:33:27 +000076(http://docs.python.org/, see below). It is available online for
77occasional reference, or can be downloaded in many formats for faster
78access. The documentation is downloadable in HTML, PostScript, PDF,
79LaTeX (through 2.5), and reStructuredText (2.6+) formats; the LaTeX and
80reStructuredText versions are primarily for documentation authors,
81translators, and people with special formatting requirements.
Benjamin Peterson2a691a82008-03-31 01:51:45 +000082
Guido van Rossumc07d5fa2000-09-01 22:50:02 +000083
Barry Warsaw97f005d2008-12-03 16:46:14 +000084Converting From Python 2.x to 3.x
Guido van Rossum1c896e32007-08-29 23:03:30 +000085---------------------------------
Guido van Rossum433c8ad1994-08-01 12:07:07 +000086
Barry Warsaw97f005d2008-12-03 16:46:14 +000087Python starting with 2.6 will contain features to help locating code that
88needs to be changed, such as optional warnings when deprecated features are
89used, and backported versions of certain key Python 3.x features.
Guido van Rossum433c8ad1994-08-01 12:07:07 +000090
Benjamin Peterson1da43e52009-06-26 13:21:52 +000091A source-to-source translation tool, "2to3", can take care of the mundane task
92of converting large amounts of source code. It is not a complete solution but
93is complemented by the deprecation warnings in 2.6. See
94http://docs.python.org/dev/py3k/library/2to3.html for more information.
95
Christian Heimesdd15f6c2008-03-16 00:07:10 +000096
Benjamin Petersonad3d5c22009-02-26 03:38:59 +000097Testing
98-------
99
100To test the interpreter, type "make test" in the top-level directory.
101This runs the test set twice (once with no compiled files, once with
102the compiled files left by the previous test run). The test set
103produces some output. You can generally ignore the messages about
104skipped tests due to optional features which can't be imported.
105If a message is printed about a failed test or a traceback or core
106dump is produced, something is wrong. On some Linux systems (those
107that are not yet using glibc 6), test_strftime fails due to a
108non-standard implementation of strftime() in the C library. Please
109ignore this, or upgrade to glibc version 6.
110
111By default, tests are prevented from overusing resources like disk space and
112memory. To enable these tests, run "make testall".
113
114IMPORTANT: If the tests fail and you decide to mail a bug report,
115*don't* include the output of "make test". It is useless. Run the
116failing test manually, as follows:
117
118 ./python Lib/test/regrtest.py -v test_whatever
119
120(substituting the top of the source tree for '.' if you built in a
121different directory). This runs the test in verbose mode.
122
123
Christian Heimesdd15f6c2008-03-16 00:07:10 +0000124Installing multiple versions
125----------------------------
126
127On Unix and Mac systems if you intend to install multiple versions of Python
128using the same installation prefix (--prefix argument to the configure
129script) you must take care that your primary python executable is not
Ezio Melotti9023e682009-07-04 01:14:30 +0000130overwritten by the installation of a different version. All files and
Christian Heimesdd15f6c2008-03-16 00:07:10 +0000131directories installed using "make altinstall" contain the major and minor
132version and can thus live side-by-side. "make install" also creates
Benjamin Peterson932073a2009-05-23 16:14:33 +0000133${prefix}/bin/python3 which refers to ${prefix}/bin/pythonX.Y. If you intend
Christian Heimesdd15f6c2008-03-16 00:07:10 +0000134to install multiple versions using the same prefix you must decide which
135version (if any) is your "primary" version. Install that version using
136"make install". Install all other versions using "make altinstall".
137
138For example, if you want to install Python 2.5, 2.6 and 3.0 with 2.6 being
139the primary version, you would execute "make install" in your 2.6 build
140directory and "make altinstall" in the others.
141
142
Guido van Rossum1c896e32007-08-29 23:03:30 +0000143Issue Tracker and Mailing List
144------------------------------
Michael W. Hudson71dcc3e2005-02-22 15:33:26 +0000145
Guido van Rossum1c896e32007-08-29 23:03:30 +0000146We're soliciting bug reports about all aspects of the language. Fixes
147are also welcome, preferable in unified diff format. Please use the
148issue tracker:
Fred Drake6caae142000-10-25 17:51:02 +0000149
Guido van Rossum1c896e32007-08-29 23:03:30 +0000150 http://bugs.python.org/
Guido van Rossum76be6ed1995-01-02 18:33:54 +0000151
Guido van Rossum1c896e32007-08-29 23:03:30 +0000152If you're not sure whether you're dealing with a bug or a feature, use
153the mailing list:
154
Mark Dickinsonb9ebd042009-02-06 16:39:11 +0000155 python-dev@python.org
Guido van Rossum1c896e32007-08-29 23:03:30 +0000156
157To subscribe to the list, use the mailman form:
158
Mark Dickinsonb9ebd042009-02-06 16:39:11 +0000159 http://mail.python.org/mailman/listinfo/python-dev/
Georg Brandl81299ad2006-02-20 10:24:06 +0000160
Michael W. Hudson71dcc3e2005-02-22 15:33:26 +0000161
Benjamin Peterson1da43e52009-06-26 13:21:52 +0000162Proposals for enhancement
163-------------------------
Guido van Rossum433c8ad1994-08-01 12:07:07 +0000164
Benjamin Peterson1da43e52009-06-26 13:21:52 +0000165If you have a proposal to change Python, you may want to send an email to the
166comp.lang.python or python-ideas mailing lists for inital feedback. A Python
167Enhancement Proposal (PEP) may be submitted if your idea gains ground. All
168current PEPs, as well as guidelines for submitting a new PEP, are listed at
169http://www.python.org/dev/peps/.
Guido van Rossum433c8ad1994-08-01 12:07:07 +0000170
Guido van Rossum1c896e32007-08-29 23:03:30 +0000171
Benjamin Peterson1da43e52009-06-26 13:21:52 +0000172Release Schedule
173----------------
Guido van Rossum1c896e32007-08-29 23:03:30 +0000174
Benjamin Peterson95d62642010-06-20 15:27:07 +0000175See PEP 392 for release details: http://www.python.org/dev/peps/pep-0392/
Guido van Rossumef0f1292007-08-30 14:51:05 +0000176
177
178Copyright and License Information
179---------------------------------
180
Benjamin Peterson851ffef2010-06-20 15:27:42 +0000181Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
Guido van Rossumef0f1292007-08-30 14:51:05 +0000182Python Software Foundation.
183All rights reserved.
184
185Copyright (c) 2000 BeOpen.com.
186All rights reserved.
187
188Copyright (c) 1995-2001 Corporation for National Research Initiatives.
189All rights reserved.
190
191Copyright (c) 1991-1995 Stichting Mathematisch Centrum.
192All rights reserved.
193
194See the file "LICENSE" for information on the history of this
195software, terms & conditions for usage, and a DISCLAIMER OF ALL
196WARRANTIES.
197
198This Python distribution contains *no* GNU General Public License
199(GPL) code, so it may be used in proprietary projects. There are
200interfaces to some GNU code but these are entirely optional.
201
202All trademarks referenced herein are property of their respective
203holders.