blob: 398c9a5a7fc0cf694b9c24b1c3b6eec199529c24 [file] [log] [blame]
Georg Brandl18e89722014-10-12 09:03:40 +02001This is Python version 3.3.6
2============================
Guido van Rossum91447632000-04-11 17:11:09 +00003
Benjamin Petersonf606e682011-12-31 22:42:26 -06004Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011,
Benjamin Petersone527dd32017-01-01 22:04:13 -060052012, 2013, 2014, 2015, 2016, 2017 Python Software Foundation. All rights
6reserved.
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
Martin v. Löwisecc58772012-05-14 13:52:03 +020019New text
20
Benjamin Peterson1da43e52009-06-26 13:21:52 +000021 ./configure
22 make
23 make test
24 sudo make install
25
26This will install Python as python3.
27
Georg Brandla02607e2010-07-31 11:00:47 +000028You can pass many options to the configure script; run "./configure --help" to
29find out more. On OSX and Cygwin, the executable is called python.exe;
30elsewhere it's just python.
Benjamin Peterson1da43e52009-06-26 13:21:52 +000031
Georg Brandla02607e2010-07-31 11:00:47 +000032On Mac OS X, if you have configured Python with --enable-framework, you should
33use "make frameworkinstall" to do the installation. Note that this installs the
34Python executable in a place that is not normally on your PATH, you may want to
35set up a symlink in /usr/local/bin.
Benjamin Peterson1da43e52009-06-26 13:21:52 +000036
37On Windows, see PCbuild/readme.txt.
38
Georg Brandla02607e2010-07-31 11:00:47 +000039If you wish, you can create a subdirectory and invoke configure from there. For
40example:
Benjamin Peterson1da43e52009-06-26 13:21:52 +000041
42 mkdir debug
43 cd debug
44 ../configure --with-pydebug
45 make
46 make test
47
Georg Brandla02607e2010-07-31 11:00:47 +000048(This will fail if you *also* built at the top-level directory. You should do a
49"make clean" at the toplevel first.)
Benjamin Peterson1da43e52009-06-26 13:21:52 +000050
51
52What's New
53----------
54
55We try to have a comprehensive overview of the changes in the "What's New in
Georg Brandlfa2c61a2011-02-20 10:41:31 +000056Python 3.3" document, found at
Benjamin Peterson1da43e52009-06-26 13:21:52 +000057
Georg Brandlfa2c61a2011-02-20 10:41:31 +000058 http://docs.python.org/3.3/whatsnew/3.3.html
Benjamin Peterson1da43e52009-06-26 13:21:52 +000059
Georg Brandla02607e2010-07-31 11:00:47 +000060For a more detailed change log, read Misc/NEWS (though this file, too, is
61incomplete, and also doesn't list anything merged in from the 2.7 release under
62development).
Benjamin Peterson1da43e52009-06-26 13:21:52 +000063
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 Brandlfa2c61a2011-02-20 10:41:31 +000071Documentation for Python 3.3 is online, updated daily:
Guido van Rossum91cb9d21995-04-10 11:47:38 +000072
Georg Brandlfa2c61a2011-02-20 10:41:31 +000073 http://docs.python.org/3.3/
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
Ezio Melotti802bf8a2013-08-16 21:32:25 +030080If you would like to contribute to the development of Python, relevant
81documentation is available at:
82
83 http://docs.python.org/devguide/
84
85For information about building Python's documentation, refer to Doc/README.txt.
86
Guido van Rossumc07d5fa2000-09-01 22:50:02 +000087
Barry Warsaw97f005d2008-12-03 16:46:14 +000088Converting From Python 2.x to 3.x
Guido van Rossum1c896e32007-08-29 23:03:30 +000089---------------------------------
Guido van Rossum433c8ad1994-08-01 12:07:07 +000090
Georg Brandla02607e2010-07-31 11:00:47 +000091Python starting with 2.6 contains features to help locating code that needs to
92be changed, such as optional warnings when deprecated features are used, and
93backported versions of certain key Python 3.x features.
Guido van Rossum433c8ad1994-08-01 12:07:07 +000094
Benjamin Peterson1da43e52009-06-26 13:21:52 +000095A source-to-source translation tool, "2to3", can take care of the mundane task
96of converting large amounts of source code. It is not a complete solution but
97is complemented by the deprecation warnings in 2.6. See
Georg Brandlfa2c61a2011-02-20 10:41:31 +000098http://docs.python.org/3.3/library/2to3.html for more information.
Benjamin Peterson1da43e52009-06-26 13:21:52 +000099
Christian Heimesdd15f6c2008-03-16 00:07:10 +0000100
Benjamin Petersonad3d5c22009-02-26 03:38:59 +0000101Testing
102-------
103
Nadeem Vawda7dfb3a12011-08-21 16:48:54 +0200104To test the interpreter, type "make test" in the top-level directory. The test
105set produces some output. You can generally ignore the messages about skipped
106tests due to optional features which can't be imported. If a message is printed
107about a failed test or a traceback or core dump is produced, something is wrong.
Benjamin Petersonad3d5c22009-02-26 03:38:59 +0000108
109By default, tests are prevented from overusing resources like disk space and
110memory. To enable these tests, run "make testall".
111
Georg Brandla02607e2010-07-31 11:00:47 +0000112IMPORTANT: If the tests fail and you decide to mail a bug report, *don't*
113include the output of "make test". It is useless. Run the failing test
114manually, as follows:
Benjamin Petersonad3d5c22009-02-26 03:38:59 +0000115
Antoine Pitroue7fed672010-12-14 22:06:10 +0000116 ./python -m test -v test_whatever
Benjamin Petersonad3d5c22009-02-26 03:38:59 +0000117
Georg Brandla02607e2010-07-31 11:00:47 +0000118(substituting the top of the source tree for '.' if you built in a different
119directory). This runs the test in verbose mode.
Benjamin Petersonad3d5c22009-02-26 03:38:59 +0000120
121
Christian Heimesdd15f6c2008-03-16 00:07:10 +0000122Installing multiple versions
123----------------------------
124
125On Unix and Mac systems if you intend to install multiple versions of Python
Georg Brandla02607e2010-07-31 11:00:47 +0000126using the same installation prefix (--prefix argument to the configure script)
127you must take care that your primary python executable is not overwritten by the
128installation of a different version. All files and directories installed using
129"make altinstall" contain the major and minor version and can thus live
130side-by-side. "make install" also creates ${prefix}/bin/python3 which refers to
131${prefix}/bin/pythonX.Y. If you intend to install multiple versions using the
132same prefix you must decide which version (if any) is your "primary" version.
133Install that version using "make install". Install all other versions using
134"make altinstall".
Christian Heimesdd15f6c2008-03-16 00:07:10 +0000135
Georg Brandlfa2c61a2011-02-20 10:41:31 +0000136For example, if you want to install Python 2.6, 2.7 and 3.3 with 2.7 being the
137primary version, you would execute "make install" in your 2.7 build directory
Georg Brandla02607e2010-07-31 11:00:47 +0000138and "make altinstall" in the others.
Christian Heimesdd15f6c2008-03-16 00:07:10 +0000139
140
Guido van Rossum1c896e32007-08-29 23:03:30 +0000141Issue Tracker and Mailing List
142------------------------------
Michael W. Hudson71dcc3e2005-02-22 15:33:26 +0000143
Georg Brandla02607e2010-07-31 11:00:47 +0000144We're soliciting bug reports about all aspects of the language. Fixes are also
145welcome, preferable in unified diff format. Please use the issue 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
Georg Brandla02607e2010-07-31 11:00:47 +0000149If you're not sure whether you're dealing with a bug or a feature, use the
150mailing list:
Guido van Rossum1c896e32007-08-29 23:03:30 +0000151
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
Georg Brandl260a7882011-02-20 10:29:04 +0000163comp.lang.python or python-ideas mailing lists for inital feedback. A Python
164Enhancement Proposal (PEP) may be submitted if your idea gains ground. All
Benjamin Peterson1da43e52009-06-26 13:21:52 +0000165current 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
Alexis Metaireauc17c6d92011-05-04 17:58:00 +0100172See PEP 398 for release details: http://www.python.org/dev/peps/pep-0398/
Guido van Rossumef0f1292007-08-30 14:51:05 +0000173
174
175Copyright and License Information
176---------------------------------
177
Georg Brandla7d2f002013-03-23 16:06:13 +0100178Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011,
Benjamin Petersonf1dcdd92016-01-01 11:53:14 -06001792012, 2013, 2014, 2015, 2016 Python Software Foundation. All rights reserved.
Guido van Rossumef0f1292007-08-30 14:51:05 +0000180
Georg Brandl260a7882011-02-20 10:29:04 +0000181Copyright (c) 2000 BeOpen.com. All rights reserved.
Guido van Rossumef0f1292007-08-30 14:51:05 +0000182
Georg Brandl260a7882011-02-20 10:29:04 +0000183Copyright (c) 1995-2001 Corporation for National Research Initiatives. All
184rights reserved.
Guido van Rossumef0f1292007-08-30 14:51:05 +0000185
Georg Brandl260a7882011-02-20 10:29:04 +0000186Copyright (c) 1991-1995 Stichting Mathematisch Centrum. All rights reserved.
Guido van Rossumef0f1292007-08-30 14:51:05 +0000187
Georg Brandl260a7882011-02-20 10:29:04 +0000188See the file "LICENSE" for information on the history of this software, terms &
189conditions for usage, and a DISCLAIMER OF ALL WARRANTIES.
Guido van Rossumef0f1292007-08-30 14:51:05 +0000190
Georg Brandl260a7882011-02-20 10:29:04 +0000191This Python distribution contains *no* GNU General Public License (GPL) code, so
192it may be used in proprietary projects. There are interfaces to some GNU code
193but these are entirely optional.
Guido van Rossumef0f1292007-08-30 14:51:05 +0000194
Georg Brandl260a7882011-02-20 10:29:04 +0000195All trademarks referenced herein are property of their respective holders.