blob: 6263ee25fb82476fee8c8c09e7524c271fcd74d8 [file] [log] [blame]
Benjamin Peterson5c5f3de2009-05-06 20:43:281This is Python version 3.1 beta 1
2=================================
Guido van Rossum91447632000-04-11 17:11:093
Georg Brandlb1441c72009-01-03 22:33:394Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009
Christian Heimesb558a2e2008-03-02 22:46:375Python Software Foundation.
6All rights reserved.
Guido van Rossum4405cf32007-08-30 17:16:557
Barry Warsaw97f005d2008-12-03 16:46:148Python 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:3013
Guido van Rossum50e9fb92006-08-17 05:42:5514
Guido van Rossum1c896e32007-08-29 23:03:3015Release Schedule
16----------------
Guido van Rossum3ff96dd1996-07-30 18:05:0417
Benjamin Petersona58a6262009-03-07 16:34:4018See PEP 375 for release details: http://www.python.org/dev/peps/pep-0375/
Guido van Rossum8d90f9d1997-05-22 20:13:2519
Guido van Rossumf501b4e1996-10-25 14:32:4820
Guido van Rossumc07d5fa2000-09-01 22:50:0221Documentation
22-------------
Guido van Rossum91cb9d21995-04-10 11:47:3823
Barry Warsaw97f005d2008-12-03 16:46:1424Documentation for Python 3.1 is online, updated twice a day:
Guido van Rossum91cb9d21995-04-10 11:47:3825
Barry Warsaw97f005d2008-12-03 16:46:1426 http://docs.python.org/dev/3.1/
Guido van Rossumc07d5fa2000-09-01 22:50:0227
Benjamin Peterson2a691a82008-03-31 01:51:4528All documentation is also available online at the Python web site
Barry Warsawbb5cd082008-04-02 23:33:2729(http://docs.python.org/, see below). It is available online for
30occasional reference, or can be downloaded in many formats for faster
31access. The documentation is downloadable in HTML, PostScript, PDF,
32LaTeX (through 2.5), and reStructuredText (2.6+) formats; the LaTeX and
33reStructuredText versions are primarily for documentation authors,
34translators, and people with special formatting requirements.
Benjamin Peterson2a691a82008-03-31 01:51:4535
Guido van Rossum1c896e32007-08-29 23:03:3036This is a work in progress; please help improve it!
Barry Warsaw06557452001-12-14 20:47:1237
Barry Warsaw97f005d2008-12-03 16:46:1438The design documents for Python 3 are also online. While the reference
39documentation is being updated, the PEPs are often the best source of
40information about new features. Start by reading PEP 3000:
Barry Warsaw06557452001-12-14 20:47:1241
Guido van Rossum1c896e32007-08-29 23:03:3042 http://python.org/dev/peps/pep-3000/
Guido van Rossumc07d5fa2000-09-01 22:50:0243
Guido van Rossumc07d5fa2000-09-01 22:50:0244
Guido van Rossum1c896e32007-08-29 23:03:3045What's New
Guido van Rossum91cb9d21995-04-10 11:47:3846----------
47
Barry Warsaw97f005d2008-12-03 16:46:1448For an overview of what's new in Python 3, see Guido van Rossum's blog at
49artima.com:
Guido van Rossum64773801997-11-26 17:07:0250
Guido van Rossum1c896e32007-08-29 23:03:3051 http://www.artima.com/weblogs/index.jsp?blogger=guido
Guido van Rossum64773801997-11-26 17:07:0252
Georg Brandlf3f67f22008-02-22 14:22:5153We try to eventually have a comprehensive overview of the changes in
Barry Warsaw97f005d2008-12-03 16:46:1454the "What's New in Python 3.1" document, found at
Georg Brandlf3f67f22008-02-22 14:22:5155
Barry Warsaw97f005d2008-12-03 16:46:1456 http://docs.python.org/dev/3.1/whatsnew/3.1
Georg Brandlf3f67f22008-02-22 14:22:5157
58Please help write it!
Jack Jansena39ef862001-08-19 21:17:0359
Guido van Rossum99533a92007-12-06 05:07:4160For 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.6
62release under development).
63
Barry Warsaw160b9a32008-05-08 11:54:1364If you want to install multiple versions of Python see the section below
65entitled "Installing multiple versions".
66
67
Benjamin Peterson2a691a82008-03-31 01:51:4568Proposals for enhancement
Barry Warsawbb5cd082008-04-02 23:33:2769-------------------------
Benjamin Peterson2a691a82008-03-31 01:51:4570
Benjamin Petersonad9d48d2008-04-02 21:49:4471If you have a proposal to change Python, you may want to send an email to the
72comp.lang.python or python-ideas mailing lists for inital feedback. A Python
73Enhancement Proposal (PEP) may be submitted if your idea gains ground. All
74current PEPs, as well as guidelines for submitting a new PEP, are listed at
75http://www.python.org/dev/peps/.
Guido van Rossum99533a92007-12-06 05:07:4176
Barry Warsaw160b9a32008-05-08 11:54:1377
Barry Warsaw97f005d2008-12-03 16:46:1478Converting From Python 2.x to 3.x
Guido van Rossum1c896e32007-08-29 23:03:3079---------------------------------
Guido van Rossum433c8ad1994-08-01 12:07:0780
Barry Warsaw97f005d2008-12-03 16:46:1481Python starting with 2.6 will contain features to help locating code that
82needs to be changed, such as optional warnings when deprecated features are
83used, and backported versions of certain key Python 3.x features.
Guido van Rossum433c8ad1994-08-01 12:07:0784
Christian Heimesdd15f6c2008-03-16 00:07:1085
Benjamin Petersonad3d5c22009-02-26 03:38:5986Testing
87-------
88
89To test the interpreter, type "make test" in the top-level directory.
90This runs the test set twice (once with no compiled files, once with
91the compiled files left by the previous test run). The test set
92produces some output. You can generally ignore the messages about
93skipped tests due to optional features which can't be imported.
94If a message is printed about a failed test or a traceback or core
95dump is produced, something is wrong. On some Linux systems (those
96that are not yet using glibc 6), test_strftime fails due to a
97non-standard implementation of strftime() in the C library. Please
98ignore this, or upgrade to glibc version 6.
99
100By default, tests are prevented from overusing resources like disk space and
101memory. To enable these tests, run "make testall".
102
103IMPORTANT: If the tests fail and you decide to mail a bug report,
104*don't* include the output of "make test". It is useless. Run the
105failing test manually, as follows:
106
107 ./python Lib/test/regrtest.py -v test_whatever
108
109(substituting the top of the source tree for '.' if you built in a
110different directory). This runs the test in verbose mode.
111
112
Christian Heimesdd15f6c2008-03-16 00:07:10113Installing multiple versions
114----------------------------
115
116On Unix and Mac systems if you intend to install multiple versions of Python
117using the same installation prefix (--prefix argument to the configure
118script) you must take care that your primary python executable is not
119overwritten by the installation of a different versio. All files and
120directories installed using "make altinstall" contain the major and minor
121version and can thus live side-by-side. "make install" also creates
122${prefix}/bin/python which refers to ${prefix}/bin/pythonX.Y. If you intend
123to install multiple versions using the same prefix you must decide which
124version (if any) is your "primary" version. Install that version using
125"make install". Install all other versions using "make altinstall".
126
127For example, if you want to install Python 2.5, 2.6 and 3.0 with 2.6 being
128the primary version, you would execute "make install" in your 2.6 build
129directory and "make altinstall" in the others.
130
131
132Configuration options and variables
133-----------------------------------
134
Guido van Rossum1c896e32007-08-29 23:03:30135A source-to-source translation tool, "2to3", can take care of the
136mundane task of converting large amounts of source code. It is not a
137complete solution but is complemented by the deprecation warnings in
1382.6. This tool is currently available via the Subversion sandbox:
Guido van Rossum433c8ad1994-08-01 12:07:07139
Guido van Rossum1c896e32007-08-29 23:03:30140 http://svn.python.org/view/sandbox/trunk/2to3/
Martin v. Löwis2df66942000-12-13 14:14:32141
142
Guido van Rossum1c896e32007-08-29 23:03:30143Issue Tracker and Mailing List
144------------------------------
Michael W. Hudson71dcc3e2005-02-22 15:33:26145
Guido van Rossum1c896e32007-08-29 23:03:30146We'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:02149
Guido van Rossum1c896e32007-08-29 23:03:30150 http://bugs.python.org/
Guido van Rossum76be6ed1995-01-02 18:33:54151
Guido van Rossum1c896e32007-08-29 23:03:30152If 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:11155 python-dev@python.org
Guido van Rossum1c896e32007-08-29 23:03:30156
157To subscribe to the list, use the mailman form:
158
Mark Dickinsonb9ebd042009-02-06 16:39:11159 http://mail.python.org/mailman/listinfo/python-dev/
Georg Brandl81299ad2006-02-20 10:24:06160
Michael W. Hudson71dcc3e2005-02-22 15:33:26161
Guido van Rossum1c896e32007-08-29 23:03:30162Build Instructions
Guido van Rossumc07d5fa2000-09-01 22:50:02163------------------
Guido van Rossum433c8ad1994-08-01 12:07:07164
Neal Norwitzbf2604c2007-08-30 17:22:44165On Unix, Linux, BSD, OSX, and Cygwin:
Guido van Rossum433c8ad1994-08-01 12:07:07166
Guido van Rossum1c896e32007-08-29 23:03:30167 ./configure
168 make
169 make test
170 sudo make install # or "make altinstall"
171
172You can pass many options to the configure script; run "./configure
173--help" to find out more. On OSX and Cygwin, the executable is called
174python.exe; elsewhere it's just python.
175
176On Mac OS X, if you have configured Python with --enable-framework,
177you should use "make frameworkinstall" to do the installation. Note
178that this installs the Python executable in a place that is not
179normally on your PATH, you may want to set up a symlink in
180/usr/local/bin.
181
Martin v. Löwis0c3842f2007-08-30 05:34:10182On Windows, see PCbuild/readme.txt.
183
Guido van Rossum1c896e32007-08-29 23:03:30184If you wish, you can create a subdirectory and invoke configure from
185there. For example:
186
187 mkdir debug
188 cd debug
189 ../configure --with-pydebug
190 make
191 make test
192
193(This will fail if you *also* built at the top-level directory. You
194should do a "make clean" at the toplevel first.)
Guido van Rossumef0f1292007-08-30 14:51:05195
196
197Copyright and License Information
198---------------------------------
199
Barry Warsaw659fc422008-03-01 17:45:23200Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008
Guido van Rossumef0f1292007-08-30 14:51:05201Python Software Foundation.
202All rights reserved.
203
204Copyright (c) 2000 BeOpen.com.
205All rights reserved.
206
207Copyright (c) 1995-2001 Corporation for National Research Initiatives.
208All rights reserved.
209
210Copyright (c) 1991-1995 Stichting Mathematisch Centrum.
211All rights reserved.
212
213See the file "LICENSE" for information on the history of this
214software, terms & conditions for usage, and a DISCLAIMER OF ALL
215WARRANTIES.
216
217This Python distribution contains *no* GNU General Public License
218(GPL) code, so it may be used in proprietary projects. There are
219interfaces to some GNU code but these are entirely optional.
220
221All trademarks referenced herein are property of their respective
222holders.