|
1 |
| -This is Python version 3.13.7 |
2 |
| -============================= |
3 |
| - |
4 |
| -.. image:: https://github.com/python/cpython/workflows/Tests/badge.svg |
5 |
| - :alt: CPython build status on GitHub Actions |
6 |
| - :target: https://github.com/python/cpython/actions |
7 |
| - |
8 |
| -.. image:: https://dev.azure.com/python/cpython/_apis/build/status/Azure%20Pipelines%20CI?branchName=main |
9 |
| - :alt: CPython build status on Azure DevOps |
10 |
| - :target: https://dev.azure.com/python/cpython/_build/latest?definitionId=4&branchName=main |
11 |
| - |
12 |
| -.. image:: https://img.shields.io/badge/discourse-join_chat-brightgreen.svg |
13 |
| - :alt: Python Discourse chat |
14 |
| - :target: https://discuss.python.org/ |
15 |
| - |
16 |
| - |
17 |
| -Copyright © 2001-2024 Python Software Foundation. All rights reserved. |
18 |
| - |
19 |
| -See the end of this file for further copyright and license information. |
20 |
| - |
21 |
| -.. contents:: |
22 |
| - |
23 |
| -General Information |
24 |
| -------------------- |
25 |
| - |
26 |
| -- Website: https://www.python.org |
27 |
| -- Source code: https://github.com/python/cpython |
28 |
| -- Issue tracker: https://github.com/python/cpython/issues |
29 |
| -- Documentation: https://docs.python.org |
30 |
| -- Developer's Guide: https://devguide.python.org/ |
31 |
| - |
32 |
| -Contributing to CPython |
33 |
| ------------------------ |
34 |
| - |
35 |
| -For more complete instructions on contributing to CPython development, |
36 |
| -see the `Developer Guide`_. |
37 |
| - |
38 |
| -.. _Developer Guide: https://devguide.python.org/ |
39 |
| - |
40 |
| -Using Python |
41 |
| ------------- |
42 |
| - |
43 |
| -Installable Python kits, and information about using Python, are available at |
44 |
| -`python.org`_. |
45 |
| - |
46 |
| -.. _python.org: https://www.python.org/ |
47 |
| - |
48 |
| -Build Instructions |
49 |
| ------------------- |
50 |
| - |
51 |
| -On Unix, Linux, BSD, macOS, and Cygwin:: |
52 |
| - |
53 |
| - ./configure |
| 1 | +./configure |
54 | 2 | make
|
55 | 3 | make test
|
56 | 4 | sudo make install
|
@@ -92,144 +40,4 @@ For example::
|
92 | 40 | a ``make clean`` at the top-level first.)
|
93 | 41 |
|
94 | 42 | To get an optimized build of Python, ``configure --enable-optimizations``
|
95 |
| -before you run ``make``. This sets the default make targets up to enable |
96 |
| -Profile Guided Optimization (PGO) and may be used to auto-enable Link Time |
97 |
| -Optimization (LTO) on some platforms. For more details, see the sections |
98 |
| -below. |
99 |
| - |
100 |
| -Profile Guided Optimization |
101 |
| -^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
102 |
| - |
103 |
| -PGO takes advantage of recent versions of the GCC or Clang compilers. If used, |
104 |
| -either via ``configure --enable-optimizations`` or by manually running |
105 |
| -``make profile-opt`` regardless of configure flags, the optimized build |
106 |
| -process will perform the following steps: |
107 |
| - |
108 |
| -The entire Python directory is cleaned of temporary files that may have |
109 |
| -resulted from a previous compilation. |
110 |
| - |
111 |
| -An instrumented version of the interpreter is built, using suitable compiler |
112 |
| -flags for each flavor. Note that this is just an intermediary step. The |
113 |
| -binary resulting from this step is not good for real-life workloads as it has |
114 |
| -profiling instructions embedded inside. |
115 |
| - |
116 |
| -After the instrumented interpreter is built, the Makefile will run a training |
117 |
| -workload. This is necessary in order to profile the interpreter's execution. |
118 |
| -Note also that any output, both stdout and stderr, that may appear at this step |
119 |
| -is suppressed. |
120 |
| - |
121 |
| -The final step is to build the actual interpreter, using the information |
122 |
| -collected from the instrumented one. The end result will be a Python binary |
123 |
| -that is optimized; suitable for distribution or production installation. |
124 |
| - |
125 |
| - |
126 |
| -Link Time Optimization |
127 |
| -^^^^^^^^^^^^^^^^^^^^^^ |
128 |
| - |
129 |
| -Enabled via configure's ``--with-lto`` flag. LTO takes advantage of the |
130 |
| -ability of recent compiler toolchains to optimize across the otherwise |
131 |
| -arbitrary ``.o`` file boundary when building final executables or shared |
132 |
| -libraries for additional performance gains. |
133 |
| - |
134 |
| - |
135 |
| -What's New |
136 |
| ----------- |
137 |
| - |
138 |
| -We have a comprehensive overview of the changes in the `What's New in Python |
139 |
| -3.13 <https://docs.python.org/3.13/whatsnew/3.13.html>`_ document. For a more |
140 |
| -detailed change log, read `Misc/NEWS |
141 |
| -<https://github.com/python/cpython/tree/main/Misc/NEWS.d>`_, but a full |
142 |
| -accounting of changes can only be gleaned from the `commit history |
143 |
| -<https://github.com/python/cpython/commits/main>`_. |
144 |
| - |
145 |
| -If you want to install multiple versions of Python, see the section below |
146 |
| -entitled "Installing multiple versions". |
147 |
| - |
148 |
| - |
149 |
| -Documentation |
150 |
| -------------- |
151 |
| - |
152 |
| -`Documentation for Python 3.13 <https://docs.python.org/3.13/>`_ is online, |
153 |
| -updated daily. |
154 |
| - |
155 |
| -It can also be downloaded in many formats for faster access. The documentation |
156 |
| -is downloadable in HTML, PDF, and reStructuredText formats; the latter version |
157 |
| -is primarily for documentation authors, translators, and people with special |
158 |
| -formatting requirements. |
159 |
| - |
160 |
| -For information about building Python's documentation, refer to `Doc/README.rst |
161 |
| -<https://github.com/python/cpython/blob/main/Doc/README.rst>`_. |
162 |
| - |
163 |
| - |
164 |
| -Testing |
165 |
| -------- |
166 |
| - |
167 |
| -To test the interpreter, type ``make test`` in the top-level directory. The |
168 |
| -test set produces some output. You can generally ignore the messages about |
169 |
| -skipped tests due to optional features which can't be imported. If a message |
170 |
| -is printed about a failed test or a traceback or core dump is produced, |
171 |
| -something is wrong. |
172 |
| - |
173 |
| -By default, tests are prevented from overusing resources like disk space and |
174 |
| -memory. To enable these tests, run ``make buildbottest``. |
175 |
| - |
176 |
| -If any tests fail, you can re-run the failing test(s) in verbose mode. For |
177 |
| -example, if ``test_os`` and ``test_gdb`` failed, you can run:: |
178 |
| - |
179 |
| - make test TESTOPTS="-v test_os test_gdb" |
180 |
| - |
181 |
| -If the failure persists and appears to be a problem with Python rather than |
182 |
| -your environment, you can `file a bug report |
183 |
| -<https://github.com/python/cpython/issues>`_ and include relevant output from |
184 |
| -that command to show the issue. |
185 |
| - |
186 |
| -See `Running & Writing Tests <https://devguide.python.org/testing/run-write-tests.html>`_ |
187 |
| -for more on running tests. |
188 |
| - |
189 |
| -Installing multiple versions |
190 |
| ----------------------------- |
191 |
| - |
192 |
| -On Unix and Mac systems if you intend to install multiple versions of Python |
193 |
| -using the same installation prefix (``--prefix`` argument to the configure |
194 |
| -script) you must take care that your primary python executable is not |
195 |
| -overwritten by the installation of a different version. All files and |
196 |
| -directories installed using ``make altinstall`` contain the major and minor |
197 |
| -version and can thus live side-by-side. ``make install`` also creates |
198 |
| -``${prefix}/bin/python3`` which refers to ``${prefix}/bin/python3.X``. If you |
199 |
| -intend to install multiple versions using the same prefix you must decide which |
200 |
| -version (if any) is your "primary" version. Install that version using |
201 |
| -``make install``. Install all other versions using ``make altinstall``. |
202 |
| - |
203 |
| -For example, if you want to install Python 2.7, 3.6, and 3.13 with 3.13 being the |
204 |
| -primary version, you would execute ``make install`` in your 3.13 build directory |
205 |
| -and ``make altinstall`` in the others. |
206 |
| - |
207 |
| - |
208 |
| -Release Schedule |
209 |
| ----------------- |
210 |
| - |
211 |
| -See :pep:`719` for Python 3.13 release details. |
212 |
| - |
213 |
| - |
214 |
| -Copyright and License Information |
215 |
| ---------------------------------- |
216 |
| - |
217 |
| - |
218 |
| -Copyright © 2001-2024 Python Software Foundation. All rights reserved. |
219 |
| - |
220 |
| -Copyright © 2000 BeOpen.com. All rights reserved. |
221 |
| - |
222 |
| -Copyright © 1995-2001 Corporation for National Research Initiatives. All |
223 |
| -rights reserved. |
224 |
| - |
225 |
| -Copyright © 1991-1995 Stichting Mathematisch Centrum. All rights reserved. |
226 |
| - |
227 |
| -See the `LICENSE <https://github.com/python/cpython/blob/main/LICENSE>`_ for |
228 |
| -information on the history of this software, terms & conditions for usage, and a |
229 |
| -DISCLAIMER OF ALL WARRANTIES. |
230 |
| - |
231 |
| -This Python distribution contains *no* GNU General Public License (GPL) code, |
232 |
| -so it may be used in proprietary projects. There are interfaces to some GNU |
233 |
| -code but these are entirely optional. |
234 |
| - |
235 |
| -All trademarks referenced herein are property of their respective holders. |
| 43 | +before you run ``make`` |
0 commit comments