blob: 40d3f0a67bb8b8dce3cb964ce7d5c19bb3c5426c [file] [log] [blame]
Benjamin Peterson39285162009-06-26 13:11:281This is Python version 3.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
Benjamin Peterson1da43e52009-06-26 13:21:5215Build Instructions
16------------------
Guido van Rossum3ff96dd1996-07-30 18:05:0417
Benjamin Peterson1da43e52009-06-26 13:21:5218On 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:2566
Guido van Rossumf501b4e1996-10-25 14:32:4867
Guido van Rossumc07d5fa2000-09-01 22:50:0268Documentation
69-------------
Guido van Rossum91cb9d21995-04-10 11:47:3870
Barry Warsaw97f005d2008-12-03 16:46:1471Documentation for Python 3.1 is online, updated twice a day:
Guido van Rossum91cb9d21995-04-10 11:47:3872
Barry Warsaw97f005d2008-12-03 16:46:1473 http://docs.python.org/dev/3.1/
Guido van Rossumc07d5fa2000-09-01 22:50:0274
Benjamin Peterson2a691a82008-03-31 01:51:4575All documentation is also available online at the Python web site
Barry Warsawbb5cd082008-04-02 23:33:2776(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:4582
Guido van Rossumc07d5fa2000-09-01 22:50:0283
Barry Warsaw97f005d2008-12-03 16:46:1484Converting From Python 2.x to 3.x
Guido van Rossum1c896e32007-08-29 23:03:3085---------------------------------
Guido van Rossum433c8ad1994-08-01 12:07:0786
Barry Warsaw97f005d2008-12-03 16:46:1487Python 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:0790
Benjamin Peterson1da43e52009-06-26 13:21:5291A 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:1096
Benjamin Petersonad3d5c22009-02-26 03:38:5997Testing
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:10124Installing 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
130overwritten by the installation of a different versio. All files and
131directories 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:33133${prefix}/bin/python3 which refers to ${prefix}/bin/pythonX.Y. If you intend
Christian Heimesdd15f6c2008-03-16 00:07:10134to 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: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
Benjamin Peterson1da43e52009-06-26 13:21:52162Proposals for enhancement
163-------------------------
Guido van Rossum433c8ad1994-08-01 12:07:07164
Benjamin Peterson1da43e52009-06-26 13:21:52165If 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:07170
Guido van Rossum1c896e32007-08-29 23:03:30171
Benjamin Peterson1da43e52009-06-26 13:21:52172Release Schedule
173----------------
Guido van Rossum1c896e32007-08-29 23:03:30174
Benjamin Peterson1da43e52009-06-26 13:21:52175See PEP 375 for release details: http://www.python.org/dev/peps/pep-0375/
Guido van Rossumef0f1292007-08-30 14:51:05176
177
178Copyright and License Information
179---------------------------------
180
Barry Warsaw659fc422008-03-01 17:45:23181Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008
Guido van Rossumef0f1292007-08-30 14:51:05182Python 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.