blob: 8b6eb0cf74787ddaa1e24843516cf84db007157b [file] [log] [blame]
Larry Hastings55907f42015-04-19 13:51:40 -07001This is Python version 3.5.0 alpha 4
Larry Hastingsf5002bd2014-03-16 23:05:59 -07002====================================
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 Peterson47e782a2014-12-31 18:09:36 -060052012, 2013, 2014, 2015 Python Software Foundation. All rights reserved.
Guido van Rossum4405cf32007-08-30 17:16:55 +00006
Georg Brandla02607e2010-07-31 11:00:47 +00007Python 3.x is a new version of the language, which is incompatible with the 2.x
8line of releases. The language is mostly the same, but many details, especially
9how built-in objects like dictionaries and strings work, have changed
10considerably, and a lot of deprecated features have finally been removed.
Guido van Rossum1c896e32007-08-29 23:03:30 +000011
Guido van Rossum50e9fb92006-08-17 05:42:55 +000012
Benjamin Peterson1da43e52009-06-26 13:21:52 +000013Build Instructions
14------------------
Guido van Rossum3ff96dd1996-07-30 18:05:04 +000015
Benjamin Peterson1da43e52009-06-26 13:21:52 +000016On Unix, Linux, BSD, OSX, and Cygwin:
17
18 ./configure
19 make
20 make test
21 sudo make install
22
23This will install Python as python3.
24
Georg Brandla02607e2010-07-31 11:00:47 +000025You can pass many options to the configure script; run "./configure --help" to
26find out more. On OSX and Cygwin, the executable is called python.exe;
27elsewhere it's just python.
Benjamin Peterson1da43e52009-06-26 13:21:52 +000028
Georg Brandla02607e2010-07-31 11:00:47 +000029On Mac OS X, if you have configured Python with --enable-framework, you should
30use "make frameworkinstall" to do the installation. Note that this installs the
31Python executable in a place that is not normally on your PATH, you may want to
32set up a symlink in /usr/local/bin.
Benjamin Peterson1da43e52009-06-26 13:21:52 +000033
34On Windows, see PCbuild/readme.txt.
35
Georg Brandla02607e2010-07-31 11:00:47 +000036If you wish, you can create a subdirectory and invoke configure from there. For
37example:
Benjamin Peterson1da43e52009-06-26 13:21:52 +000038
39 mkdir debug
40 cd debug
41 ../configure --with-pydebug
42 make
43 make test
44
Georg Brandla02607e2010-07-31 11:00:47 +000045(This will fail if you *also* built at the top-level directory. You should do a
46"make clean" at the toplevel first.)
Benjamin Peterson1da43e52009-06-26 13:21:52 +000047
48
49What's New
50----------
51
52We try to have a comprehensive overview of the changes in the "What's New in
Larry Hastingsf5002bd2014-03-16 23:05:59 -070053Python 3.5" document, found at
Benjamin Peterson1da43e52009-06-26 13:21:52 +000054
Larry Hastingsf5002bd2014-03-16 23:05:59 -070055 http://docs.python.org/3.5/whatsnew/3.5.html
Benjamin Peterson1da43e52009-06-26 13:21:52 +000056
Georg Brandla02607e2010-07-31 11:00:47 +000057For a more detailed change log, read Misc/NEWS (though this file, too, is
58incomplete, and also doesn't list anything merged in from the 2.7 release under
59development).
Benjamin Peterson1da43e52009-06-26 13:21:52 +000060
61If you want to install multiple versions of Python see the section below
62entitled "Installing multiple versions".
Guido van Rossum8d90f9d1997-05-22 20:13:25 +000063
Guido van Rossumf501b4e1996-10-25 14:32:48 +000064
Guido van Rossumc07d5fa2000-09-01 22:50:02 +000065Documentation
66-------------
Guido van Rossum91cb9d21995-04-10 11:47:38 +000067
Larry Hastingsf5002bd2014-03-16 23:05:59 -070068Documentation for Python 3.5 is online, updated daily:
Guido van Rossum91cb9d21995-04-10 11:47:38 +000069
Larry Hastingsf5002bd2014-03-16 23:05:59 -070070 http://docs.python.org/3.5/
Guido van Rossumc07d5fa2000-09-01 22:50:02 +000071
Georg Brandl62069d32010-07-31 08:56:11 +000072It can also be downloaded in many formats for faster access. The documentation
73is downloadable in HTML, PDF, and reStructuredText formats; the latter version
74is primarily for documentation authors, translators, and people with special
75formatting requirements.
Benjamin Peterson2a691a82008-03-31 01:51:45 +000076
Ezio Melotti802bf8a2013-08-16 21:32:25 +030077If you would like to contribute to the development of Python, relevant
78documentation is available at:
79
80 http://docs.python.org/devguide/
81
82For information about building Python's documentation, refer to Doc/README.txt.
83
Guido van Rossumc07d5fa2000-09-01 22:50:02 +000084
Barry Warsaw97f005d2008-12-03 16:46:14 +000085Converting From Python 2.x to 3.x
Guido van Rossum1c896e32007-08-29 23:03:30 +000086---------------------------------
Guido van Rossum433c8ad1994-08-01 12:07:07 +000087
Georg Brandla02607e2010-07-31 11:00:47 +000088Python starting with 2.6 contains features to help locating code that needs to
89be changed, such as optional warnings when deprecated features are used, and
90backported versions of certain key Python 3.x features.
Guido van Rossum433c8ad1994-08-01 12:07:07 +000091
Benjamin Peterson1da43e52009-06-26 13:21:52 +000092A source-to-source translation tool, "2to3", can take care of the mundane task
93of converting large amounts of source code. It is not a complete solution but
94is complemented by the deprecation warnings in 2.6. See
Larry Hastingsf5002bd2014-03-16 23:05:59 -070095http://docs.python.org/3.5/library/2to3.html for more information.
Benjamin Peterson1da43e52009-06-26 13:21:52 +000096
Christian Heimesdd15f6c2008-03-16 00:07:10 +000097
Benjamin Petersonad3d5c22009-02-26 03:38:59 +000098Testing
99-------
100
Nadeem Vawda7dfb3a12011-08-21 16:48:54 +0200101To test the interpreter, type "make test" in the top-level directory. The test
102set produces some output. You can generally ignore the messages about skipped
103tests due to optional features which can't be imported. If a message is printed
104about a failed test or a traceback or core dump is produced, something is wrong.
Benjamin Petersonad3d5c22009-02-26 03:38:59 +0000105
106By default, tests are prevented from overusing resources like disk space and
107memory. To enable these tests, run "make testall".
108
Georg Brandla02607e2010-07-31 11:00:47 +0000109IMPORTANT: If the tests fail and you decide to mail a bug report, *don't*
110include the output of "make test". It is useless. Run the failing test
111manually, as follows:
Benjamin Petersonad3d5c22009-02-26 03:38:59 +0000112
Antoine Pitroue7fed672010-12-14 22:06:10 +0000113 ./python -m test -v test_whatever
Benjamin Petersonad3d5c22009-02-26 03:38:59 +0000114
Georg Brandla02607e2010-07-31 11:00:47 +0000115(substituting the top of the source tree for '.' if you built in a different
116directory). This runs the test in verbose mode.
Benjamin Petersonad3d5c22009-02-26 03:38:59 +0000117
118
Christian Heimesdd15f6c2008-03-16 00:07:10 +0000119Installing multiple versions
120----------------------------
121
122On Unix and Mac systems if you intend to install multiple versions of Python
Georg Brandla02607e2010-07-31 11:00:47 +0000123using the same installation prefix (--prefix argument to the configure script)
124you must take care that your primary python executable is not overwritten by the
125installation of a different version. All files and directories installed using
126"make altinstall" contain the major and minor version and can thus live
127side-by-side. "make install" also creates ${prefix}/bin/python3 which refers to
128${prefix}/bin/pythonX.Y. If you intend to install multiple versions using the
129same prefix you must decide which version (if any) is your "primary" version.
130Install that version using "make install". Install all other versions using
131"make altinstall".
Christian Heimesdd15f6c2008-03-16 00:07:10 +0000132
Larry Hastingsf5002bd2014-03-16 23:05:59 -0700133For example, if you want to install Python 2.6, 2.7 and 3.5 with 2.7 being the
Georg Brandlfa2c61a2011-02-20 10:41:31 +0000134primary version, you would execute "make install" in your 2.7 build directory
Georg Brandla02607e2010-07-31 11:00:47 +0000135and "make altinstall" in the others.
Christian Heimesdd15f6c2008-03-16 00:07:10 +0000136
137
Guido van Rossum1c896e32007-08-29 23:03:30 +0000138Issue Tracker and Mailing List
139------------------------------
Michael W. Hudson71dcc3e2005-02-22 15:33:26 +0000140
Georg Brandla02607e2010-07-31 11:00:47 +0000141We're soliciting bug reports about all aspects of the language. Fixes are also
142welcome, preferable in unified diff format. Please use the issue tracker:
Fred Drake6caae142000-10-25 17:51:02 +0000143
Guido van Rossum1c896e32007-08-29 23:03:30 +0000144 http://bugs.python.org/
Guido van Rossum76be6ed1995-01-02 18:33:54 +0000145
Georg Brandla02607e2010-07-31 11:00:47 +0000146If you're not sure whether you're dealing with a bug or a feature, use the
147mailing list:
Guido van Rossum1c896e32007-08-29 23:03:30 +0000148
Mark Dickinsonb9ebd042009-02-06 16:39:11 +0000149 python-dev@python.org
Guido van Rossum1c896e32007-08-29 23:03:30 +0000150
151To subscribe to the list, use the mailman form:
152
Mark Dickinsonb9ebd042009-02-06 16:39:11 +0000153 http://mail.python.org/mailman/listinfo/python-dev/
Georg Brandl81299ad2006-02-20 10:24:06 +0000154
Michael W. Hudson71dcc3e2005-02-22 15:33:26 +0000155
Benjamin Peterson1da43e52009-06-26 13:21:52 +0000156Proposals for enhancement
157-------------------------
Guido van Rossum433c8ad1994-08-01 12:07:07 +0000158
Benjamin Peterson1da43e52009-06-26 13:21:52 +0000159If you have a proposal to change Python, you may want to send an email to the
Georg Brandl260a7882011-02-20 10:29:04 +0000160comp.lang.python or python-ideas mailing lists for inital feedback. A Python
161Enhancement Proposal (PEP) may be submitted if your idea gains ground. All
Benjamin Peterson1da43e52009-06-26 13:21:52 +0000162current PEPs, as well as guidelines for submitting a new PEP, are listed at
163http://www.python.org/dev/peps/.
Guido van Rossum433c8ad1994-08-01 12:07:07 +0000164
Guido van Rossum1c896e32007-08-29 23:03:30 +0000165
Benjamin Peterson1da43e52009-06-26 13:21:52 +0000166Release Schedule
167----------------
Guido van Rossum1c896e32007-08-29 23:03:30 +0000168
Berker Peksag51a4a2b2014-10-12 06:59:14 +0300169See PEP 478 for release details: http://www.python.org/dev/peps/pep-0478/
Guido van Rossumef0f1292007-08-30 14:51:05 +0000170
171
172Copyright and License Information
173---------------------------------
174
Georg Brandla7d2f002013-03-23 16:06:13 +0100175Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011,
Larry Hastingsb06f1422015-02-07 16:00:55 -08001762012, 2013, 2014, 2015 Python Software Foundation. All rights reserved.
Guido van Rossumef0f1292007-08-30 14:51:05 +0000177
Georg Brandl260a7882011-02-20 10:29:04 +0000178Copyright (c) 2000 BeOpen.com. All rights reserved.
Guido van Rossumef0f1292007-08-30 14:51:05 +0000179
Georg Brandl260a7882011-02-20 10:29:04 +0000180Copyright (c) 1995-2001 Corporation for National Research Initiatives. All
181rights reserved.
Guido van Rossumef0f1292007-08-30 14:51:05 +0000182
Georg Brandl260a7882011-02-20 10:29:04 +0000183Copyright (c) 1991-1995 Stichting Mathematisch Centrum. All rights reserved.
Guido van Rossumef0f1292007-08-30 14:51:05 +0000184
Georg Brandl260a7882011-02-20 10:29:04 +0000185See the file "LICENSE" for information on the history of this software, terms &
186conditions for usage, and a DISCLAIMER OF ALL WARRANTIES.
Guido van Rossumef0f1292007-08-30 14:51:05 +0000187
Georg Brandl260a7882011-02-20 10:29:04 +0000188This Python distribution contains *no* GNU General Public License (GPL) code, so
189it may be used in proprietary projects. There are interfaces to some GNU code
190but these are entirely optional.
Guido van Rossumef0f1292007-08-30 14:51:05 +0000191
Georg Brandl260a7882011-02-20 10:29:04 +0000192All trademarks referenced herein are property of their respective holders.