blob: 1716da27892403b3eea0a8c9686fe03d29ef9f4b [file] [log] [blame]
Georg Brandl62069d32010-07-31 08:56:11 +00001This is Python version 3.2 alpha 1
2==================================
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
Georg Brandl62069d32010-07-31 08:56:11 +000056Python 3.2" document, found at
Benjamin Peterson1da43e52009-06-26 13:21:52 +000057
Georg Brandl62069d32010-07-31 08:56:11 +000058 http://docs.python.org/dev/3.2/whatsnew/3.2.html
Benjamin Peterson1da43e52009-06-26 13:21:52 +000059
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
Georg Brandl62069d32010-07-31 08:56:11 +000071Documentation for Python 3.2 is online, updated daily:
Guido van Rossum91cb9d21995-04-10 11:47:38 +000072
Georg Brandl62069d32010-07-31 08:56:11 +000073 http://docs.python.org/dev/
Guido van Rossumc07d5fa2000-09-01 22:50:02 +000074
Georg Brandl62069d32010-07-31 08:56:11 +000075It can also be downloaded in many formats for faster access. The documentation
76is downloadable in HTML, PDF, and reStructuredText formats; the latter version
77is primarily for documentation authors, translators, and people with special
78formatting requirements.
Benjamin Peterson2a691a82008-03-31 01:51:45 +000079
Guido van Rossumc07d5fa2000-09-01 22:50:02 +000080
Barry Warsaw97f005d2008-12-03 16:46:14 +000081Converting From Python 2.x to 3.x
Guido van Rossum1c896e32007-08-29 23:03:30 +000082---------------------------------
Guido van Rossum433c8ad1994-08-01 12:07:07 +000083
Georg Brandl62069d32010-07-31 08:56:11 +000084Python starting with 2.6 contains features to help locating code that
Barry Warsaw97f005d2008-12-03 16:46:14 +000085needs to be changed, such as optional warnings when deprecated features are
86used, and backported versions of certain key Python 3.x features.
Guido van Rossum433c8ad1994-08-01 12:07:07 +000087
Benjamin Peterson1da43e52009-06-26 13:21:52 +000088A source-to-source translation tool, "2to3", can take care of the mundane task
89of converting large amounts of source code. It is not a complete solution but
90is complemented by the deprecation warnings in 2.6. See
Georg Brandl62069d32010-07-31 08:56:11 +000091http://docs.python.org/dev/library/2to3.html for more information.
Benjamin Peterson1da43e52009-06-26 13:21:52 +000092
Christian Heimesdd15f6c2008-03-16 00:07:10 +000093
Benjamin Petersonad3d5c22009-02-26 03:38:59 +000094Testing
95-------
96
97To test the interpreter, type "make test" in the top-level directory.
98This runs the test set twice (once with no compiled files, once with
99the compiled files left by the previous test run). The test set
100produces some output. You can generally ignore the messages about
101skipped tests due to optional features which can't be imported.
102If a message is printed about a failed test or a traceback or core
103dump is produced, something is wrong. On some Linux systems (those
104that are not yet using glibc 6), test_strftime fails due to a
105non-standard implementation of strftime() in the C library. Please
106ignore this, or upgrade to glibc version 6.
107
108By default, tests are prevented from overusing resources like disk space and
109memory. To enable these tests, run "make testall".
110
111IMPORTANT: If the tests fail and you decide to mail a bug report,
112*don't* include the output of "make test". It is useless. Run the
113failing test manually, as follows:
114
115 ./python Lib/test/regrtest.py -v test_whatever
116
117(substituting the top of the source tree for '.' if you built in a
118different directory). This runs the test in verbose mode.
119
120
Christian Heimesdd15f6c2008-03-16 00:07:10 +0000121Installing multiple versions
122----------------------------
123
124On Unix and Mac systems if you intend to install multiple versions of Python
125using the same installation prefix (--prefix argument to the configure
126script) you must take care that your primary python executable is not
Ezio Melotti9023e682009-07-04 01:14:30 +0000127overwritten by the installation of a different version. All files and
Christian Heimesdd15f6c2008-03-16 00:07:10 +0000128directories installed using "make altinstall" contain the major and minor
129version and can thus live side-by-side. "make install" also creates
Benjamin Peterson932073a2009-05-23 16:14:33 +0000130${prefix}/bin/python3 which refers to ${prefix}/bin/pythonX.Y. If you intend
Christian Heimesdd15f6c2008-03-16 00:07:10 +0000131to install multiple versions using the same prefix you must decide which
132version (if any) is your "primary" version. Install that version using
133"make install". Install all other versions using "make altinstall".
134
Georg Brandl62069d32010-07-31 08:56:11 +0000135For example, if you want to install Python 2.5, 2.6 and 3.2 with 2.6 being
Christian Heimesdd15f6c2008-03-16 00:07:10 +0000136the primary version, you would execute "make install" in your 2.6 build
137directory and "make altinstall" in the others.
138
139
Guido van Rossum1c896e32007-08-29 23:03:30 +0000140Issue Tracker and Mailing List
141------------------------------
Michael W. Hudson71dcc3e2005-02-22 15:33:26 +0000142
Guido van Rossum1c896e32007-08-29 23:03:30 +0000143We're soliciting bug reports about all aspects of the language. Fixes
144are also welcome, preferable in unified diff format. Please use the
145issue tracker:
Fred Drake6caae142000-10-25 17:51:02 +0000146
Guido van Rossum1c896e32007-08-29 23:03:30 +0000147 http://bugs.python.org/
Guido van Rossum76be6ed1995-01-02 18:33:54 +0000148
Guido van Rossum1c896e32007-08-29 23:03:30 +0000149If you're not sure whether you're dealing with a bug or a feature, use
150the mailing list:
151
Mark Dickinsonb9ebd042009-02-06 16:39:11 +0000152 python-dev@python.org
Guido van Rossum1c896e32007-08-29 23:03:30 +0000153
154To subscribe to the list, use the mailman form:
155
Mark Dickinsonb9ebd042009-02-06 16:39:11 +0000156 http://mail.python.org/mailman/listinfo/python-dev/
Georg Brandl81299ad2006-02-20 10:24:06 +0000157
Michael W. Hudson71dcc3e2005-02-22 15:33:26 +0000158
Benjamin Peterson1da43e52009-06-26 13:21:52 +0000159Proposals for enhancement
160-------------------------
Guido van Rossum433c8ad1994-08-01 12:07:07 +0000161
Benjamin Peterson1da43e52009-06-26 13:21:52 +0000162If you have a proposal to change Python, you may want to send an email to the
163comp.lang.python or python-ideas mailing lists for inital feedback. A Python
164Enhancement Proposal (PEP) may be submitted if your idea gains ground. All
165current PEPs, as well as guidelines for submitting a new PEP, are listed at
166http://www.python.org/dev/peps/.
Guido van Rossum433c8ad1994-08-01 12:07:07 +0000167
Guido van Rossum1c896e32007-08-29 23:03:30 +0000168
Benjamin Peterson1da43e52009-06-26 13:21:52 +0000169Release Schedule
170----------------
Guido van Rossum1c896e32007-08-29 23:03:30 +0000171
Benjamin Peterson95d62642010-06-20 15:27:07 +0000172See PEP 392 for release details: http://www.python.org/dev/peps/pep-0392/
Guido van Rossumef0f1292007-08-30 14:51:05 +0000173
174
175Copyright and License Information
176---------------------------------
177
Benjamin Peterson851ffef2010-06-20 15:27:42 +0000178Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
Guido van Rossumef0f1292007-08-30 14:51:05 +0000179Python Software Foundation.
180All rights reserved.
181
182Copyright (c) 2000 BeOpen.com.
183All rights reserved.
184
185Copyright (c) 1995-2001 Corporation for National Research Initiatives.
186All rights reserved.
187
188Copyright (c) 1991-1995 Stichting Mathematisch Centrum.
189All rights reserved.
190
191See the file "LICENSE" for information on the history of this
192software, terms & conditions for usage, and a DISCLAIMER OF ALL
193WARRANTIES.
194
195This Python distribution contains *no* GNU General Public License
196(GPL) code, so it may be used in proprietary projects. There are
197interfaces to some GNU code but these are entirely optional.
198
199All trademarks referenced herein are property of their respective
200holders.