]>
Commit | Line | Data |
---|---|---|
1b329e79 | 1 | This is Python version 3.5.3 release candidate 1 |
904465f6 | 2 | ================================================ |
9144763a | 3 | |
f606e682 | 4 | Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, |
75e3630c | 5 | 2012, 2013, 2014, 2015, 2016 Python Software Foundation. All rights reserved. |
4405cf3c | 6 | |
f92f6c8e LH |
7 | Python 3.x is a new version of the language, which is incompatible with the |
8 | 2.x line of releases. The language is mostly the same, but many details, | |
9 | especially how built-in objects like dictionaries and strings work, | |
10 | have changed considerably, and a lot of deprecated features have finally | |
11 | been removed. | |
50e9fb9e | 12 | |
64773800 | 13 | |
1da43e5e BP |
14 | Build Instructions |
15 | ------------------ | |
71dcc3e9 | 16 | |
1da43e5e | 17 | On Unix, Linux, BSD, OSX, and Cygwin: |
8d90f9d5 | 18 | |
1da43e5e BP |
19 | ./configure |
20 | make | |
21 | make test | |
22 | sudo make install | |
f501b4e5 | 23 | |
1da43e5e | 24 | This will install Python as python3. |
91cb9d2f | 25 | |
a02607ea GB |
26 | You can pass many options to the configure script; run "./configure --help" to |
27 | find out more. On OSX and Cygwin, the executable is called python.exe; | |
28 | elsewhere it's just python. | |
477c8d5e | 29 | |
a02607ea | 30 | On Mac OS X, if you have configured Python with --enable-framework, you should |
f92f6c8e LH |
31 | use "make frameworkinstall" to do the installation. Note that this installs |
32 | the Python executable in a place that is not normally on your PATH, you may | |
33 | want to set up a symlink in /usr/local/bin. | |
dabed752 | 34 | |
1da43e5e BP |
35 | On Windows, see PCbuild/readme.txt. |
36 | ||
f92f6c8e LH |
37 | If you wish, you can create a subdirectory and invoke configure from there. |
38 | For example: | |
1da43e5e BP |
39 | |
40 | mkdir debug | |
41 | cd debug | |
42 | ../configure --with-pydebug | |
43 | make | |
44 | make test | |
45 | ||
f92f6c8e LH |
46 | (This will fail if you *also* built at the top-level directory. |
47 | You should do a "make clean" at the toplevel first.) | |
2a691a81 | 48 | |
7188a3ef BC |
49 | If you need an optimized version of Python, you type "make profile-opt" in the |
50 | top level directory. This will rebuild the interpreter executable using Profile | |
51 | Guided Optimization (PGO). For more details, see the section bellow. | |
52 | ||
53 | ||
54 | Profile Guided Optimization | |
55 | --------------------------- | |
56 | ||
57 | PGO takes advantage of recent versions of the GCC or Clang compilers. | |
58 | If ran, the "profile-opt" rule will do several steps. | |
59 | ||
60 | First, the entire Python directory is cleaned of temporary files that | |
8d56c026 | 61 | may have resulted in a previous compilation. |
7188a3ef BC |
62 | |
63 | Then, an instrumented version of the interpreter is built, using suitable | |
64 | compiler flags for each flavour. Note that this is just an intermediary | |
65 | step and the binary resulted after this step is not good for real life | |
66 | workloads, as it has profiling instructions embedded inside. | |
67 | ||
68 | After this instrumented version of the interpreter is built, the Makefile | |
69 | will automatically run a training workload. This is necessary in order to | |
70 | profile the interpreter execution. Note also that any output, both stdout | |
0be894b2 | 71 | and stderr, that may appear at this step is suppressed. |
7188a3ef BC |
72 | |
73 | Finally, the last step is to rebuild the interpreter, using the information | |
cc71a795 | 74 | collected in the previous one. The end result will be a Python binary |
7188a3ef BC |
75 | that is optimized and suitable for distribution or production installation. |
76 | ||
1c4523f0 | 77 | |
1c896e3f | 78 | What's New |
91cb9d2f GR |
79 | ---------- |
80 | ||
f92f6c8e | 81 | We have a comprehensive overview of the changes in the "What's New in |
7aa53411 | 82 | Python 3.5" document, found at |
f3f67f2d | 83 | |
7aa53411 | 84 | http://docs.python.org/3.5/whatsnew/3.5.html |
f3f67f2d | 85 | |
f92f6c8e LH |
86 | For a more detailed change log, read Misc/NEWS (though this file, too, |
87 | is incomplete, and also doesn't list anything merged in from the 2.7 | |
88 | release under development). | |
99533a95 | 89 | |
160b9a3c BW |
90 | If you want to install multiple versions of Python see the section below |
91 | entitled "Installing multiple versions". | |
92 | ||
93 | ||
1da43e5e BP |
94 | Documentation |
95 | ------------- | |
2a691a81 | 96 | |
7aa53411 | 97 | Documentation for Python 3.5 is online, updated daily: |
1da43e5e | 98 | |
7aa53411 | 99 | http://docs.python.org/3.5/ |
1da43e5e | 100 | |
62069d3c GB |
101 | It can also be downloaded in many formats for faster access. The documentation |
102 | is downloadable in HTML, PDF, and reStructuredText formats; the latter version | |
103 | is primarily for documentation authors, translators, and people with special | |
104 | formatting requirements. | |
99533a95 | 105 | |
802bf8ae EM |
106 | If you would like to contribute to the development of Python, relevant |
107 | documentation is available at: | |
108 | ||
109 | http://docs.python.org/devguide/ | |
110 | ||
111 | For information about building Python's documentation, refer to Doc/README.txt. | |
112 | ||
160b9a3c | 113 | |
97f005d1 | 114 | Converting From Python 2.x to 3.x |
1c896e3f | 115 | --------------------------------- |
91cb9d2f | 116 | |
a02607ea GB |
117 | Python starting with 2.6 contains features to help locating code that needs to |
118 | be changed, such as optional warnings when deprecated features are used, and | |
119 | backported versions of certain key Python 3.x features. | |
91cb9d2f | 120 | |
1da43e5e BP |
121 | A source-to-source translation tool, "2to3", can take care of the mundane task |
122 | of converting large amounts of source code. It is not a complete solution but | |
123 | is complemented by the deprecation warnings in 2.6. See | |
7aa53411 | 124 | http://docs.python.org/3.5/library/2to3.html for more information. |
1da43e5e | 125 | |
dd15f6c3 | 126 | |
ad3d5c22 BP |
127 | Testing |
128 | ------- | |
129 | ||
f92f6c8e LH |
130 | To test the interpreter, type "make test" in the top-level directory. |
131 | The test set produces some output. You can generally ignore the messages | |
132 | about skipped tests due to optional features which can't be imported. | |
133 | If a message is printed about a failed test or a traceback or core dump | |
134 | is produced, something is wrong. | |
ad3d5c22 BP |
135 | |
136 | By default, tests are prevented from overusing resources like disk space and | |
137 | memory. To enable these tests, run "make testall". | |
138 | ||
a02607ea GB |
139 | IMPORTANT: If the tests fail and you decide to mail a bug report, *don't* |
140 | include the output of "make test". It is useless. Run the failing test | |
141 | manually, as follows: | |
ad3d5c22 | 142 | |
e7fed672 | 143 | ./python -m test -v test_whatever |
ad3d5c22 | 144 | |
a02607ea GB |
145 | (substituting the top of the source tree for '.' if you built in a different |
146 | directory). This runs the test in verbose mode. | |
ad3d5c22 BP |
147 | |
148 | ||
dd15f6c3 CH |
149 | Installing multiple versions |
150 | ---------------------------- | |
151 | ||
152 | On Unix and Mac systems if you intend to install multiple versions of Python | |
a02607ea | 153 | using the same installation prefix (--prefix argument to the configure script) |
f92f6c8e LH |
154 | you must take care that your primary python executable is not overwritten by |
155 | the installation of a different version. All files and directories installed | |
156 | using "make altinstall" contain the major and minor version and can thus live | |
157 | side-by-side. "make install" also creates ${prefix}/bin/python3 which refers | |
158 | to ${prefix}/bin/pythonX.Y. If you intend to install multiple versions using | |
159 | the same prefix you must decide which version (if any) is your "primary" | |
160 | version. Install that version using "make install". Install all other | |
161 | versions using "make altinstall". | |
dd15f6c3 | 162 | |
7aa53411 | 163 | For example, if you want to install Python 2.6, 2.7 and 3.5 with 2.7 being the |
fa2c61a2 | 164 | primary version, you would execute "make install" in your 2.7 build directory |
a02607ea | 165 | and "make altinstall" in the others. |
dd15f6c3 CH |
166 | |
167 | ||
1c896e3f GR |
168 | Issue Tracker and Mailing List |
169 | ------------------------------ | |
91cb9d2f | 170 | |
a02607ea | 171 | We're soliciting bug reports about all aspects of the language. Fixes are also |
f92f6c8e | 172 | welcome, preferably in unified diff format. Please use the issue tracker: |
91cb9d2f | 173 | |
1c896e3f | 174 | http://bugs.python.org/ |
64773800 | 175 | |
a02607ea GB |
176 | If you're not sure whether you're dealing with a bug or a feature, use the |
177 | mailing list: | |
c0be2f5d | 178 | |
b9ebd04b | 179 | python-dev@python.org |
91cb9d2f | 180 | |
1c896e3f | 181 | To subscribe to the list, use the mailman form: |
84c8c7f9 | 182 | |
b9ebd04b | 183 | http://mail.python.org/mailman/listinfo/python-dev/ |
91cb9d2f | 184 | |
433c8ade | 185 | |
1da43e5e BP |
186 | Proposals for enhancement |
187 | ------------------------- | |
03d8f745 | 188 | |
1da43e5e | 189 | If you have a proposal to change Python, you may want to send an email to the |
260a7887 GB |
190 | comp.lang.python or python-ideas mailing lists for inital feedback. A Python |
191 | Enhancement Proposal (PEP) may be submitted if your idea gains ground. All | |
1da43e5e BP |
192 | current PEPs, as well as guidelines for submitting a new PEP, are listed at |
193 | http://www.python.org/dev/peps/. | |
0c3842fe | 194 | |
433c8ade | 195 | |
1da43e5e BP |
196 | Release Schedule |
197 | ---------------- | |
91cb9d2f | 198 | |
51a4a2b9 | 199 | See PEP 478 for release details: http://www.python.org/dev/peps/pep-0478/ |
ef0f1291 GR |
200 | |
201 | ||
202 | Copyright and License Information | |
203 | --------------------------------- | |
204 | ||
a7d2f006 | 205 | Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, |
f1dcdd9a | 206 | 2012, 2013, 2014, 2015, 2016 Python Software Foundation. All rights reserved. |
ef0f1291 | 207 | |
260a7887 | 208 | Copyright (c) 2000 BeOpen.com. All rights reserved. |
ef0f1291 | 209 | |
260a7887 GB |
210 | Copyright (c) 1995-2001 Corporation for National Research Initiatives. All |
211 | rights reserved. | |
ef0f1291 | 212 | |
260a7887 | 213 | Copyright (c) 1991-1995 Stichting Mathematisch Centrum. All rights reserved. |
ef0f1291 | 214 | |
f92f6c8e LH |
215 | See the file "LICENSE" for information on the history of this software, |
216 | terms & conditions for usage, and a DISCLAIMER OF ALL WARRANTIES. | |
ef0f1291 | 217 | |
f92f6c8e LH |
218 | This Python distribution contains *no* GNU General Public License (GPL) code, |
219 | so it may be used in proprietary projects. There are interfaces to some GNU | |
220 | code but these are entirely optional. | |
ef0f1291 | 221 | |
260a7887 | 222 | All trademarks referenced herein are property of their respective holders. |