blob: ff838bf4650d7cef6f9e4d117580c096208974f1 [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
Georg Brandla02607e2010-07-31 11:00:47 +00008Python 3.x is a new version of the language, which is incompatible with the 2.x
9line of releases. The language is mostly the same, but many details, especially
10how built-in objects like dictionaries and strings work, have changed
11considerably, and a lot of deprecated features have finally been removed.
Guido van Rossum1c896e32007-08-29 23:03:30 +000012
Guido van Rossum50e9fb92006-08-17 05:42:55 +000013
Benjamin Peterson1da43e52009-06-26 13:21:52 +000014Build Instructions
15------------------
Guido van Rossum3ff96dd1996-07-30 18:05:04 +000016
Benjamin Peterson1da43e52009-06-26 13:21:52 +000017On Unix, Linux, BSD, OSX, and Cygwin:
18
19 ./configure
20 make
21 make test
22 sudo make install
23
24This will install Python as python3.
25
Georg Brandla02607e2010-07-31 11:00:47 +000026You can pass many options to the configure script; run "./configure --help" to
27find out more. On OSX and Cygwin, the executable is called python.exe;
28elsewhere it's just python.
Benjamin Peterson1da43e52009-06-26 13:21:52 +000029
Georg Brandla02607e2010-07-31 11:00:47 +000030On Mac OS X, if you have configured Python with --enable-framework, you should
31use "make frameworkinstall" to do the installation. Note that this installs the
32Python executable in a place that is not normally on your PATH, you may want to
33set up a symlink in /usr/local/bin.
Benjamin Peterson1da43e52009-06-26 13:21:52 +000034
35On Windows, see PCbuild/readme.txt.
36
Georg Brandla02607e2010-07-31 11:00:47 +000037If you wish, you can create a subdirectory and invoke configure from there. For
38example:
Benjamin Peterson1da43e52009-06-26 13:21:52 +000039
40 mkdir debug
41 cd debug
42 ../configure --with-pydebug
43 make
44 make test
45
Georg Brandla02607e2010-07-31 11:00:47 +000046(This will fail if you *also* built at the top-level directory. You should do a
47"make clean" at the toplevel first.)
Benjamin Peterson1da43e52009-06-26 13:21:52 +000048
49
50What's New
51----------
52
53We try to have a comprehensive overview of the changes in the "What's New in
Georg Brandl62069d32010-07-31 08:56:11 +000054Python 3.2" document, found at
Benjamin Peterson1da43e52009-06-26 13:21:52 +000055
Georg Brandl62069d32010-07-31 08:56:11 +000056 http://docs.python.org/dev/3.2/whatsnew/3.2.html
Benjamin Peterson1da43e52009-06-26 13:21:52 +000057
Georg Brandla02607e2010-07-31 11:00:47 +000058For a more detailed change log, read Misc/NEWS (though this file, too, is
59incomplete, and also doesn't list anything merged in from the 2.7 release under
60development).
Benjamin Peterson1da43e52009-06-26 13:21:52 +000061
62If you want to install multiple versions of Python see the section below
63entitled "Installing multiple versions".
Guido van Rossum8d90f9d1997-05-22 20:13:25 +000064
Guido van Rossumf501b4e1996-10-25 14:32:48 +000065
Guido van Rossumc07d5fa2000-09-01 22:50:02 +000066Documentation
67-------------
Guido van Rossum91cb9d21995-04-10 11:47:38 +000068
Georg Brandl62069d32010-07-31 08:56:11 +000069Documentation for Python 3.2 is online, updated daily:
Guido van Rossum91cb9d21995-04-10 11:47:38 +000070
Georg Brandl62069d32010-07-31 08:56:11 +000071 http://docs.python.org/dev/
Guido van Rossumc07d5fa2000-09-01 22:50:02 +000072
Georg Brandl62069d32010-07-31 08:56:11 +000073It can also be downloaded in many formats for faster access. The documentation
74is downloadable in HTML, PDF, and reStructuredText formats; the latter version
75is primarily for documentation authors, translators, and people with special
76formatting requirements.
Benjamin Peterson2a691a82008-03-31 01:51:45 +000077
Guido van Rossumc07d5fa2000-09-01 22:50:02 +000078
Barry Warsaw97f005d2008-12-03 16:46:14 +000079Converting From Python 2.x to 3.x
Guido van Rossum1c896e32007-08-29 23:03:30 +000080---------------------------------
Guido van Rossum433c8ad1994-08-01 12:07:07 +000081
Georg Brandla02607e2010-07-31 11:00:47 +000082Python starting with 2.6 contains features to help locating code that needs to
83be changed, such as optional warnings when deprecated features are used, and
84backported versions of certain key Python 3.x features.
Guido van Rossum433c8ad1994-08-01 12:07:07 +000085
Benjamin Peterson1da43e52009-06-26 13:21:52 +000086A source-to-source translation tool, "2to3", can take care of the mundane task
87of converting large amounts of source code. It is not a complete solution but
88is complemented by the deprecation warnings in 2.6. See
Georg Brandl62069d32010-07-31 08:56:11 +000089http://docs.python.org/dev/library/2to3.html for more information.
Benjamin Peterson1da43e52009-06-26 13:21:52 +000090
Christian Heimesdd15f6c2008-03-16 00:07:10 +000091
Benjamin Petersonad3d5c22009-02-26 03:38:59 +000092Testing
93-------
94
Georg Brandla02607e2010-07-31 11:00:47 +000095To test the interpreter, type "make test" in the top-level directory. This runs
96the test set twice (once with no compiled files, once with the compiled files
97left by the previous test run). The test set produces some output. You can
98generally ignore the messages about skipped tests due to optional features which
99can't be imported. If a message is printed about a failed test or a traceback
100or core dump is produced, something is wrong. On some Linux systems (those that
101are not yet using glibc 6), test_strftime fails due to a non-standard
102implementation of strftime() in the C library. Please ignore this, or upgrade to
103glibc version 6.
Benjamin Petersonad3d5c22009-02-26 03:38:59 +0000104
105By default, tests are prevented from overusing resources like disk space and
106memory. To enable these tests, run "make testall".
107
Georg Brandla02607e2010-07-31 11:00:47 +0000108IMPORTANT: If the tests fail and you decide to mail a bug report, *don't*
109include the output of "make test". It is useless. Run the failing test
110manually, as follows:
Benjamin Petersonad3d5c22009-02-26 03:38:59 +0000111
112 ./python Lib/test/regrtest.py -v test_whatever
113
Georg Brandla02607e2010-07-31 11:00:47 +0000114(substituting the top of the source tree for '.' if you built in a different
115directory). This runs the test in verbose mode.
Benjamin Petersonad3d5c22009-02-26 03:38:59 +0000116
117
Christian Heimesdd15f6c2008-03-16 00:07:10 +0000118Installing multiple versions
119----------------------------
120
121On Unix and Mac systems if you intend to install multiple versions of Python
Georg Brandla02607e2010-07-31 11:00:47 +0000122using the same installation prefix (--prefix argument to the configure script)
123you must take care that your primary python executable is not overwritten by the
124installation of a different version. All files and directories installed using
125"make altinstall" contain the major and minor version and can thus live
126side-by-side. "make install" also creates ${prefix}/bin/python3 which refers to
127${prefix}/bin/pythonX.Y. If you intend to install multiple versions using the
128same prefix you must decide which version (if any) is your "primary" version.
129Install that version using "make install". Install all other versions using
130"make altinstall".
Christian Heimesdd15f6c2008-03-16 00:07:10 +0000131
Georg Brandla02607e2010-07-31 11:00:47 +0000132For example, if you want to install Python 2.5, 2.6 and 3.2 with 2.6 being the
133primary version, you would execute "make install" in your 2.6 build directory
134and "make altinstall" in the others.
Christian Heimesdd15f6c2008-03-16 00:07:10 +0000135
136
Guido van Rossum1c896e32007-08-29 23:03:30 +0000137Issue Tracker and Mailing List
138------------------------------
Michael W. Hudson71dcc3e2005-02-22 15:33:26 +0000139
Georg Brandla02607e2010-07-31 11:00:47 +0000140We're soliciting bug reports about all aspects of the language. Fixes are also
141welcome, preferable in unified diff format. Please use the issue tracker:
Fred Drake6caae142000-10-25 17:51:02 +0000142
Guido van Rossum1c896e32007-08-29 23:03:30 +0000143 http://bugs.python.org/
Guido van Rossum76be6ed1995-01-02 18:33:54 +0000144
Georg Brandla02607e2010-07-31 11:00:47 +0000145If you're not sure whether you're dealing with a bug or a feature, use the
146mailing list:
Guido van Rossum1c896e32007-08-29 23:03:30 +0000147
Mark Dickinsonb9ebd042009-02-06 16:39:11 +0000148 python-dev@python.org
Guido van Rossum1c896e32007-08-29 23:03:30 +0000149
150To subscribe to the list, use the mailman form:
151
Mark Dickinsonb9ebd042009-02-06 16:39:11 +0000152 http://mail.python.org/mailman/listinfo/python-dev/
Georg Brandl81299ad2006-02-20 10:24:06 +0000153
Michael W. Hudson71dcc3e2005-02-22 15:33:26 +0000154
Benjamin Peterson1da43e52009-06-26 13:21:52 +0000155Proposals for enhancement
156-------------------------
Guido van Rossum433c8ad1994-08-01 12:07:07 +0000157
Benjamin Peterson1da43e52009-06-26 13:21:52 +0000158If you have a proposal to change Python, you may want to send an email to the
159comp.lang.python or python-ideas mailing lists for inital feedback. A Python
160Enhancement Proposal (PEP) may be submitted if your idea gains ground. All
161current PEPs, as well as guidelines for submitting a new PEP, are listed at
162http://www.python.org/dev/peps/.
Guido van Rossum433c8ad1994-08-01 12:07:07 +0000163
Guido van Rossum1c896e32007-08-29 23:03:30 +0000164
Benjamin Peterson1da43e52009-06-26 13:21:52 +0000165Release Schedule
166----------------
Guido van Rossum1c896e32007-08-29 23:03:30 +0000167
Benjamin Peterson95d62642010-06-20 15:27:07 +0000168See PEP 392 for release details: http://www.python.org/dev/peps/pep-0392/
Guido van Rossumef0f1292007-08-30 14:51:05 +0000169
170
171Copyright and License Information
172---------------------------------
173
Benjamin Peterson851ffef2010-06-20 15:27:42 +0000174Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
Guido van Rossumef0f1292007-08-30 14:51:05 +0000175Python Software Foundation.
176All rights reserved.
177
178Copyright (c) 2000 BeOpen.com.
179All rights reserved.
180
181Copyright (c) 1995-2001 Corporation for National Research Initiatives.
182All rights reserved.
183
184Copyright (c) 1991-1995 Stichting Mathematisch Centrum.
185All rights reserved.
186
187See the file "LICENSE" for information on the history of this
188software, terms & conditions for usage, and a DISCLAIMER OF ALL
189WARRANTIES.
190
191This Python distribution contains *no* GNU General Public License
192(GPL) code, so it may be used in proprietary projects. There are
193interfaces to some GNU code but these are entirely optional.
194
195All trademarks referenced herein are property of their respective
196holders.