|
1 |
| -This is Python version 3.7.0 alpha 1 |
2 |
| -==================================== |
3 |
| - |
4 |
| -.. image:: https://travis-ci.org/python/cpython.svg?branch=master |
5 |
| - :alt: CPython build status on Travis CI |
6 |
| - :target: https://travis-ci.org/python/cpython |
7 |
| - |
8 |
| -.. image:: https://ci.appveyor.com/api/projects/status/4mew1a93xdkbf5ua/branch/master?svg=true |
9 |
| - :alt: CPython build status on Appveyor |
10 |
| - :target: https://ci.appveyor.com/project/python/cpython/branch/master |
11 |
| - |
12 |
| -.. image:: https://codecov.io/gh/python/cpython/branch/master/graph/badge.svg |
13 |
| - :alt: CPython code coverage on Codecov |
14 |
| - :target: https://codecov.io/gh/python/cpython |
15 |
| - |
16 |
| -Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, |
17 |
| -2012, 2013, 2014, 2015, 2016, 2017 Python Software Foundation. All rights |
18 |
| -reserved. |
19 |
| - |
20 |
| -See the end of this file for further copyright and license information. |
21 |
| - |
22 |
| -.. contents:: |
23 |
| - |
24 |
| -General Information |
25 |
| -------------------- |
26 |
| - |
27 |
| -- Website: https://www.python.org |
28 |
| -- Source code: https://github.com/python/cpython |
29 |
| -- Issue tracker: https://bugs.python.org |
30 |
| -- Documentation: https://docs.python.org |
31 |
| -- Developer's Guide: https://docs.python.org/devguide/ |
32 |
| - |
33 |
| -Contributing to CPython |
34 |
| ------------------------ |
35 |
| - |
36 |
| -For more complete instructions on contributing to CPython development, |
37 |
| -see the `Developer Guide`_. |
38 |
| - |
39 |
| -.. _Developer Guide: https://docs.python.org/devguide/ |
40 |
| - |
41 |
| -Using Python |
42 |
| ------------- |
43 |
| - |
44 |
| -Installable Python kits, and information about using Python, are available at |
45 |
| -`python.org`_. |
46 |
| - |
47 |
| -.. _python.org: https://www.python.org/ |
48 |
| - |
49 |
| -Build Instructions |
50 |
| ------------------- |
51 |
| - |
52 |
| -On Unix, Linux, BSD, macOS, and Cygwin:: |
53 |
| - |
54 |
| - ./configure |
55 |
| - make |
56 |
| - make test |
57 |
| - sudo make install |
58 |
| - |
59 |
| -This will install Python as python3. |
60 |
| - |
61 |
| -You can pass many options to the configure script; run ``./configure --help`` |
62 |
| -to find out more. On macOS and Cygwin, the executable is called ``python.exe``; |
63 |
| -elsewhere it's just ``python``. |
64 |
| - |
65 |
| -On macOS, if you have configured Python with ``--enable-framework``, you |
66 |
| -should use ``make frameworkinstall`` to do the installation. Note that this |
67 |
| -installs the Python executable in a place that is not normally on your PATH, |
68 |
| -you may want to set up a symlink in ``/usr/local/bin``. |
69 |
| - |
70 |
| -On Windows, see `PCbuild/readme.txt |
71 |
| -<https://github.com/python/cpython/blob/master/PCbuild/readme.txt>`_. |
72 |
| - |
73 |
| -If you wish, you can create a subdirectory and invoke configure from there. |
74 |
| -For example:: |
75 |
| - |
76 |
| - mkdir debug |
77 |
| - cd debug |
78 |
| - ../configure --with-pydebug |
79 |
| - make |
80 |
| - make test |
81 |
| - |
82 |
| -(This will fail if you *also* built at the top-level directory. You should do |
83 |
| -a ``make clean`` at the toplevel first.) |
84 |
| - |
85 |
| -To get an optimized build of Python, ``configure --enable-optimizations`` |
86 |
| -before you run ``make``. This sets the default make targets up to enable |
87 |
| -Profile Guided Optimization (PGO) and may be used to auto-enable Link Time |
88 |
| -Optimization (LTO) on some platforms. For more details, see the sections |
89 |
| -below. |
90 |
| - |
91 |
| - |
92 |
| -Profile Guided Optimization |
93 |
| -^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
94 |
| - |
95 |
| -PGO takes advantage of recent versions of the GCC or Clang compilers. If ran, |
96 |
| -``make profile-opt`` will do several steps. |
97 |
| - |
98 |
| -First, the entire Python directory is cleaned of temporary files that may have |
99 |
| -resulted in a previous compilation. |
100 |
| - |
101 |
| -Then, an instrumented version of the interpreter is built, using suitable |
102 |
| -compiler flags for each flavour. Note that this is just an intermediary step |
103 |
| -and the binary resulted after this step is not good for real life workloads, as |
104 |
| -it has profiling instructions embedded inside. |
105 |
| - |
106 |
| -After this instrumented version of the interpreter is built, the Makefile will |
107 |
| -automatically run a training workload. This is necessary in order to profile |
108 |
| -the interpreter execution. Note also that any output, both stdout and stderr, |
109 |
| -that may appear at this step is suppressed. |
110 |
| - |
111 |
| -Finally, the last step is to rebuild the interpreter, using the information |
112 |
| -collected in the previous one. The end result will be a Python binary that is |
113 |
| -optimized and suitable for distribution or production installation. |
114 |
| - |
115 |
| - |
116 |
| -Link Time Optimization |
117 |
| -^^^^^^^^^^^^^^^^^^^^^^ |
118 |
| - |
119 |
| -Enabled via configure's ``--with-lto`` flag. LTO takes advantage of the |
120 |
| -ability of recent compiler toolchains to optimize across the otherwise |
121 |
| -arbitrary ``.o`` file boundary when building final executables or shared |
122 |
| -libraries for additional performance gains. |
123 |
| - |
124 |
| - |
125 |
| -What's New |
126 |
| ----------- |
127 |
| - |
128 |
| -We have a comprehensive overview of the changes in the `What's New in Python |
129 |
| -3.7 <https://docs.python.org/3.7/whatsnew/3.7.html>`_ document. For a more |
130 |
| -detailed change log, read `Misc/NEWS |
131 |
| -<https://github.com/python/cpython/blob/master/Misc/NEWS>`_, but a full |
132 |
| -accounting of changes can only be gleaned from the `commit history |
133 |
| -<https://github.com/python/cpython/commits/master>`_. |
134 |
| - |
135 |
| -If you want to install multiple versions of Python see the section below |
136 |
| -entitled "Installing multiple versions". |
137 |
| - |
138 |
| - |
139 |
| -Documentation |
140 |
| -------------- |
141 |
| - |
142 |
| -`Documentation for Python 3.7 <https://docs.python.org/3.7/>`_ is online, |
143 |
| -updated daily. |
144 |
| - |
145 |
| -It can also be downloaded in many formats for faster access. The documentation |
146 |
| -is downloadable in HTML, PDF, and reStructuredText formats; the latter version |
147 |
| -is primarily for documentation authors, translators, and people with special |
148 |
| -formatting requirements. |
149 |
| - |
150 |
| -For information about building Python's documentation, refer to `Doc/README.rst |
151 |
| -<https://github.com/python/cpython/blob/master/Doc/README.rst>`_. |
152 |
| - |
153 |
| - |
154 |
| -Converting From Python 2.x to 3.x |
155 |
| ---------------------------------- |
156 |
| - |
157 |
| -Significant backward incompatible changes were made for the release of Python |
158 |
| -3.0, which may cause programs written for Python 2 to fail when run with Python |
159 |
| -3. For more information about porting your code from Python 2 to Python 3, see |
160 |
| -the `Porting HOWTO <https://docs.python.org/3/howto/pyporting.html>`_. |
161 |
| - |
162 |
| - |
163 |
| -Testing |
164 |
| -------- |
165 |
| - |
166 |
| -To test the interpreter, type ``make test`` in the top-level directory. The |
167 |
| -test set produces some output. You can generally ignore the messages about |
168 |
| -skipped tests due to optional features which can't be imported. If a message |
169 |
| -is printed about a failed test or a traceback or core dump is produced, |
170 |
| -something is wrong. |
171 |
| - |
172 |
| -By default, tests are prevented from overusing resources like disk space and |
173 |
| -memory. To enable these tests, run ``make testall``. |
174 |
| - |
175 |
| -If any tests fail, you can re-run the failing test(s) in verbose mode:: |
176 |
| - |
177 |
| - make test TESTOPTS="-v test_that_failed" |
178 |
| - |
179 |
| -If the failure persists and appears to be a problem with Python rather than |
180 |
| -your environment, you can `file a bug report <https://bugs.python.org>`_ and |
181 |
| -include relevant output from that command to show the issue. |
182 |
| - |
183 |
| - |
184 |
| -Installing multiple versions |
185 |
| ----------------------------- |
186 |
| - |
187 |
| -On Unix and Mac systems if you intend to install multiple versions of Python |
188 |
| -using the same installation prefix (``--prefix`` argument to the configure |
189 |
| -script) you must take care that your primary python executable is not |
190 |
| -overwritten by the installation of a different version. All files and |
191 |
| -directories installed using ``make altinstall`` contain the major and minor |
192 |
| -version and can thus live side-by-side. ``make install`` also creates |
193 |
| -``${prefix}/bin/python3`` which refers to ``${prefix}/bin/pythonX.Y``. If you |
194 |
| -intend to install multiple versions using the same prefix you must decide which |
195 |
| -version (if any) is your "primary" version. Install that version using ``make |
196 |
| -install``. Install all other versions using ``make altinstall``. |
197 |
| - |
198 |
| -For example, if you want to install Python 2.7, 3.6, and 3.7 with 3.7 being the |
199 |
| -primary version, you would execute ``make install`` in your 3.7 build directory |
200 |
| -and ``make altinstall`` in the others. |
201 |
| - |
202 |
| - |
203 |
| -Issue Tracker and Mailing List |
204 |
| ------------------------------- |
205 |
| - |
206 |
| -Bug reports are welcome! You can use the `issue tracker |
207 |
| -<https://bugs.python.org>`_ to report bugs, and/or submit pull requests `on |
208 |
| -GitHub <https://github.com/python/cpython>`_. |
209 |
| - |
210 |
| -You can also follow development discussion on the `python-dev mailing list |
211 |
| -<https://mail.python.org/mailman/listinfo/python-dev/>`_. |
212 |
| - |
213 |
| - |
214 |
| -Proposals for enhancement |
215 |
| -------------------------- |
216 |
| - |
217 |
| -If you have a proposal to change Python, you may want to send an email to the |
218 |
| -comp.lang.python or `python-ideas`_ mailing lists for initial feedback. A |
219 |
| -Python Enhancement Proposal (PEP) may be submitted if your idea gains ground. |
220 |
| -All current PEPs, as well as guidelines for submitting a new PEP, are listed at |
221 |
| -`python.org/dev/peps/ <https://www.python.org/dev/peps/>`_. |
222 |
| - |
223 |
| -.. _python-ideas: https://mail.python.org/mailman/listinfo/python-ideas/ |
224 |
| - |
225 |
| - |
226 |
| -Release Schedule |
227 |
| ----------------- |
228 |
| - |
229 |
| -See :pep:`537` for Python 3.7 release details. |
230 |
| - |
231 |
| - |
232 |
| -Copyright and License Information |
233 |
| ---------------------------------- |
234 |
| - |
235 |
| -Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, |
236 |
| -2012, 2013, 2014, 2015, 2016 Python Software Foundation. All rights reserved. |
237 |
| - |
238 |
| -Copyright (c) 2000 BeOpen.com. All rights reserved. |
239 |
| - |
240 |
| -Copyright (c) 1995-2001 Corporation for National Research Initiatives. All |
241 |
| -rights reserved. |
242 |
| - |
243 |
| -Copyright (c) 1991-1995 Stichting Mathematisch Centrum. All rights reserved. |
244 |
| - |
245 |
| -See the file "LICENSE" for information on the history of this software, terms & |
246 |
| -conditions for usage, and a DISCLAIMER OF ALL WARRANTIES. |
247 |
| - |
248 |
| -This Python distribution contains *no* GNU General Public License (GPL) code, |
249 |
| -so it may be used in proprietary projects. There are interfaces to some GNU |
250 |
| -code but these are entirely optional. |
251 |
| - |
252 |
| -All trademarks referenced herein are property of their respective holders. |
| 1 | +This is a fork of CPython to work on an updated asyncio documentation for |
| 2 | +Python 3.7. Don't use it for any other purpose. |
0 commit comments