blob: f898b50a0611262ab1a5cb0ed6cb7df673838379 [file] [log] [blame]
Barry Warsawde9ec242009-02-12 23:35:411This is Python version 3.0.1
2============================
Guido van Rossum91447632000-04-11 17:11:093
Guido van Rossum4405cf32007-08-30 17:16:554For notes specific to this release, see RELNOTES in this directory.
Georg Brandlfa1ce462009-01-04 00:08:315Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009
Christian Heimesb558a2e2008-03-02 22:46:376Python Software Foundation.
7All rights reserved.
Guido van Rossum4405cf32007-08-30 17:16:558
Barry Warsaw38a29bb2008-12-03 17:15:139Python 3 (a.k.a. "Python 3000" or "Py3k", and released as Python 3.0) is a new
10version of the language, which is incompatible with the 2.x line of releases.
11The language is mostly the same, but many details, especially how built-in
12objects like dictionaries and strings work, have changed considerably, and a
13lot of deprecated features have finally been removed.
Guido van Rossum8d90f9d1997-05-22 20:13:2514
Guido van Rossumf501b4e1996-10-25 14:32:4815
Guido van Rossumc07d5fa2000-09-01 22:50:0216Documentation
17-------------
Guido van Rossum91cb9d21995-04-10 11:47:3818
Barry Warsaw38a29bb2008-12-03 17:15:1319Documentation for Python 3.0 is online, updated twice a day:
Guido van Rossum91cb9d21995-04-10 11:47:3820
Guido van Rossum1c896e32007-08-29 23:03:3021 http://docs.python.org/dev/3.0/
Guido van Rossumc07d5fa2000-09-01 22:50:0222
Benjamin Peterson2a691a82008-03-31 01:51:4523All documentation is also available online at the Python web site
Barry Warsaw38a29bb2008-12-03 17:15:1324(http://docs.python.org/, see below). It is available online for occasional
25reference, and it can be downloaded in many formats for faster local access.
26The documentation is downloadable in HTML, PostScript, PDF, LaTeX (through
272.5), and reStructuredText (2.6, 3.0, and going forward) formats; the LaTeX
28and reStructuredText versions are primarily for documentation authors,
Barry Warsawbb5cd082008-04-02 23:33:2729translators, and people with special formatting requirements.
Benjamin Peterson2a691a82008-03-31 01:51:4530
Guido van Rossum1c896e32007-08-29 23:03:3031This is a work in progress; please help improve it!
Barry Warsaw06557452001-12-14 20:47:1232
Barry Warsaw38a29bb2008-12-03 17:15:1333The design documents for Python 3 are also online. While the reference
34documentation is being updated, the PEPs are often the best source of
35information about new features. Start by reading PEP 3000:
Barry Warsaw06557452001-12-14 20:47:1236
Guido van Rossum1c896e32007-08-29 23:03:3037 http://python.org/dev/peps/pep-3000/
Guido van Rossumc07d5fa2000-09-01 22:50:0238
Guido van Rossumc07d5fa2000-09-01 22:50:0239
Guido van Rossum1c896e32007-08-29 23:03:3040What's New
Guido van Rossum91cb9d21995-04-10 11:47:3841----------
42
Barry Warsaw38a29bb2008-12-03 17:15:1343For an overview of what's new in Python 3.0, see Guido van Rossum's blog at
44artima.com:
Guido van Rossum64773801997-11-26 17:07:0245
Guido van Rossum1c896e32007-08-29 23:03:3046 http://www.artima.com/weblogs/index.jsp?blogger=guido
Guido van Rossum64773801997-11-26 17:07:0247
Barry Warsaw38a29bb2008-12-03 17:15:1348We try to eventually have a comprehensive overview of the changes in the
49"What's New in Python 3.0" document, found at
Georg Brandlf3f67f22008-02-22 14:22:5150
51 http://docs.python.org/dev/3.0/whatsnew/3.0
52
Barry Warsaw38a29bb2008-12-03 17:15:1353Please help improve it!
Jack Jansena39ef862001-08-19 21:17:0354
Barry Warsaw38a29bb2008-12-03 17:15:1355For a more detailed change log, read Misc/NEWS, though this file, too, is
56incomplete, and also doesn't list anything merged in from the 2.6 release.
Guido van Rossum99533a92007-12-06 05:07:4157
Barry Warsaw160b9a32008-05-08 11:54:1358If you want to install multiple versions of Python see the section below
59entitled "Installing multiple versions".
60
61
Benjamin Peterson2a691a82008-03-31 01:51:4562Proposals for enhancement
Barry Warsawbb5cd082008-04-02 23:33:2763-------------------------
Benjamin Peterson2a691a82008-03-31 01:51:4564
Benjamin Petersonad9d48d2008-04-02 21:49:4465If you have a proposal to change Python, you may want to send an email to the
Barry Warsaw38a29bb2008-12-03 17:15:1366comp.lang.python or python-ideas mailing lists for initial feedback. A Python
67Enhancement Proposal (PEP) may be submitted if your idea gains ground. All
Benjamin Petersonad9d48d2008-04-02 21:49:4468current PEPs, as well as guidelines for submitting a new PEP, are listed at
69http://www.python.org/dev/peps/.
Guido van Rossum99533a92007-12-06 05:07:4170
Barry Warsaw160b9a32008-05-08 11:54:1371
Guido van Rossum1c896e32007-08-29 23:03:3072Converting From Python 2.x to 3.0
73---------------------------------
Guido van Rossum433c8ad1994-08-01 12:07:0774
Barry Warsaw38a29bb2008-12-03 17:15:1375Python 2.6 contains features to help locating and updating code that needs to
76be changed when migrating to Python 3.
Christian Heimesdd15f6c2008-03-16 00:07:1077
Guido van Rossum1c896e32007-08-29 23:03:3078A source-to-source translation tool, "2to3", can take care of the
79mundane task of converting large amounts of source code. It is not a
80complete solution but is complemented by the deprecation warnings in
812.6. This tool is currently available via the Subversion sandbox:
Guido van Rossum433c8ad1994-08-01 12:07:0782
Guido van Rossum1c896e32007-08-29 23:03:3083 http://svn.python.org/view/sandbox/trunk/2to3/
Martin v. Löwis2df66942000-12-13 14:14:3284
85
Barry Warsaw38a29bb2008-12-03 17:15:1386Installing multiple versions
87----------------------------
88
89On Unix and Mac systems if you intend to install multiple versions of Python
90using the same installation prefix (--prefix argument to the configure script)
91you must take care that your primary python executable is not overwritten by
92the installation of a different version. All files and directories installed
93using "make altinstall" contain the major and minor version and can thus live
94side-by-side. "make install" also creates ${prefix}/bin/python which refers
95to ${prefix}/bin/pythonX.Y. If you intend to install multiple versions using
96the same prefix you must decide which version (if any) is your "primary"
97version. Install that version using "make install". Install all other
98versions using "make altinstall".
99
100For example, if you want to install Python 2.5, 2.6 and 3.0 with 2.6 being the
101primary version, you would execute "make install" in your 2.6 build directory
102and "make altinstall" in the others.
103
104
Guido van Rossum1c896e32007-08-29 23:03:30105Issue Tracker and Mailing List
106------------------------------
Michael W. Hudson71dcc3e2005-02-22 15:33:26107
Barry Warsaw38a29bb2008-12-03 17:15:13108We're soliciting bug reports about all aspects of the language. Fixes are
109also welcome, preferable in unified diff format. Please use the issue
110tracker:
Fred Drake6caae142000-10-25 17:51:02111
Guido van Rossum1c896e32007-08-29 23:03:30112 http://bugs.python.org/
Guido van Rossum76be6ed1995-01-02 18:33:54113
Barry Warsaw38a29bb2008-12-03 17:15:13114If you're not sure whether you're dealing with a bug or a feature, use the
115mailing list:
Guido van Rossum1c896e32007-08-29 23:03:30116
Mark Dickinson1c631562009-02-06 16:41:19117 python-dev@python.org
Guido van Rossum1c896e32007-08-29 23:03:30118
Barry Warsaw38a29bb2008-12-03 17:15:13119To subscribe to the list, use the Mailman form:
Guido van Rossum1c896e32007-08-29 23:03:30120
Mark Dickinson1c631562009-02-06 16:41:19121 http://mail.python.org/mailman/listinfo/python-dev/
Georg Brandl81299ad2006-02-20 10:24:06122
Michael W. Hudson71dcc3e2005-02-22 15:33:26123
Guido van Rossum1c896e32007-08-29 23:03:30124Build Instructions
Guido van Rossumc07d5fa2000-09-01 22:50:02125------------------
Guido van Rossum433c8ad1994-08-01 12:07:07126
Neal Norwitzbf2604c2007-08-30 17:22:44127On Unix, Linux, BSD, OSX, and Cygwin:
Guido van Rossum433c8ad1994-08-01 12:07:07128
Guido van Rossum1c896e32007-08-29 23:03:30129 ./configure
130 make
131 make test
132 sudo make install # or "make altinstall"
133
134You can pass many options to the configure script; run "./configure
135--help" to find out more. On OSX and Cygwin, the executable is called
136python.exe; elsewhere it's just python.
137
138On Mac OS X, if you have configured Python with --enable-framework,
139you should use "make frameworkinstall" to do the installation. Note
140that this installs the Python executable in a place that is not
141normally on your PATH, you may want to set up a symlink in
142/usr/local/bin.
143
Martin v. Löwis0c3842f2007-08-30 05:34:10144On Windows, see PCbuild/readme.txt.
145
Guido van Rossum1c896e32007-08-29 23:03:30146If you wish, you can create a subdirectory and invoke configure from
147there. For example:
148
149 mkdir debug
150 cd debug
151 ../configure --with-pydebug
152 make
153 make test
154
155(This will fail if you *also* built at the top-level directory. You
156should do a "make clean" at the toplevel first.)
Guido van Rossumef0f1292007-08-30 14:51:05157
158
159Copyright and License Information
160---------------------------------
161
Barry Warsawde9ec242009-02-12 23:35:41162Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009
Guido van Rossumef0f1292007-08-30 14:51:05163Python Software Foundation.
164All rights reserved.
165
166Copyright (c) 2000 BeOpen.com.
167All rights reserved.
168
169Copyright (c) 1995-2001 Corporation for National Research Initiatives.
170All rights reserved.
171
172Copyright (c) 1991-1995 Stichting Mathematisch Centrum.
173All rights reserved.
174
175See the file "LICENSE" for information on the history of this
176software, terms & conditions for usage, and a DISCLAIMER OF ALL
177WARRANTIES.
178
179This Python distribution contains *no* GNU General Public License
180(GPL) code, so it may be used in proprietary projects. There are
181interfaces to some GNU code but these are entirely optional.
182
183All trademarks referenced herein are property of their respective
184holders.