mirror of https://github.com/python/cpython
Python 3.12.0a0
This commit is contained in:
parent
8d32a5c8c4
commit
e851177536
|
@ -10,13 +10,13 @@ Using the Python Interpreter
|
|||
Invoking the Interpreter
|
||||
========================
|
||||
|
||||
The Python interpreter is usually installed as :file:`/usr/local/bin/python3.11`
|
||||
The Python interpreter is usually installed as :file:`/usr/local/bin/python3.12`
|
||||
on those machines where it is available; putting :file:`/usr/local/bin` in your
|
||||
Unix shell's search path makes it possible to start it by typing the command:
|
||||
|
||||
.. code-block:: text
|
||||
|
||||
python3.11
|
||||
python3.12
|
||||
|
||||
to the shell. [#]_ Since the choice of the directory where the interpreter lives
|
||||
is an installation option, other places are possible; check with your local
|
||||
|
@ -24,7 +24,7 @@ Python guru or system administrator. (E.g., :file:`/usr/local/python` is a
|
|||
popular alternative location.)
|
||||
|
||||
On Windows machines where you have installed Python from the :ref:`Microsoft Store
|
||||
<windows-store>`, the :file:`python3.11` command will be available. If you have
|
||||
<windows-store>`, the :file:`python3.12` command will be available. If you have
|
||||
the :ref:`py.exe launcher <launcher>` installed, you can use the :file:`py`
|
||||
command. See :ref:`setting-envvars` for other ways to launch Python.
|
||||
|
||||
|
@ -97,8 +97,8 @@ before printing the first prompt:
|
|||
|
||||
.. code-block:: shell-session
|
||||
|
||||
$ python3.11
|
||||
Python 3.11 (default, April 4 2021, 09:25:04)
|
||||
$ python3.12
|
||||
Python 3.12 (default, April 4 2022, 09:25:04)
|
||||
[GCC 10.2.0] on linux
|
||||
Type "help", "copyright", "credits" or "license" for more information.
|
||||
>>>
|
||||
|
|
|
@ -15,7 +15,7 @@ operating system::
|
|||
|
||||
>>> import os
|
||||
>>> os.getcwd() # Return the current working directory
|
||||
'C:\\Python311'
|
||||
'C:\\Python312'
|
||||
>>> os.chdir('/server/accesslogs') # Change current working directory
|
||||
>>> os.system('mkdir today') # Run the command mkdir in the system shell
|
||||
0
|
||||
|
|
|
@ -278,7 +278,7 @@ applications include caching objects that are expensive to create::
|
|||
Traceback (most recent call last):
|
||||
File "<stdin>", line 1, in <module>
|
||||
d['primary'] # entry was automatically removed
|
||||
File "C:/python311/lib/weakref.py", line 46, in __getitem__
|
||||
File "C:/python312/lib/weakref.py", line 46, in __getitem__
|
||||
o = self.data[key]()
|
||||
KeyError: 'primary'
|
||||
|
||||
|
|
|
@ -0,0 +1,116 @@
|
|||
|
||||
****************************
|
||||
What's New In Python 3.12
|
||||
****************************
|
||||
|
||||
:Release: |release|
|
||||
:Date: |today|
|
||||
|
||||
.. Rules for maintenance:
|
||||
|
||||
* Anyone can add text to this document. Do not spend very much time
|
||||
on the wording of your changes, because your text will probably
|
||||
get rewritten to some degree.
|
||||
|
||||
* The maintainer will go through Misc/NEWS periodically and add
|
||||
changes; it's therefore more important to add your changes to
|
||||
Misc/NEWS than to this file.
|
||||
|
||||
* This is not a complete list of every single change; completeness
|
||||
is the purpose of Misc/NEWS. Some changes I consider too small
|
||||
or esoteric to include. If such a change is added to the text,
|
||||
I'll just remove it. (This is another reason you shouldn't spend
|
||||
too much time on writing your addition.)
|
||||
|
||||
* If you want to draw your new text to the attention of the
|
||||
maintainer, add 'XXX' to the beginning of the paragraph or
|
||||
section.
|
||||
|
||||
* It's OK to just add a fragmentary note about a change. For
|
||||
example: "XXX Describe the transmogrify() function added to the
|
||||
socket module." The maintainer will research the change and
|
||||
write the necessary text.
|
||||
|
||||
* You can comment out your additions if you like, but it's not
|
||||
necessary (especially when a final release is some months away).
|
||||
|
||||
* Credit the author of a patch or bugfix. Just the name is
|
||||
sufficient; the e-mail address isn't necessary.
|
||||
|
||||
* It's helpful to add the bug/patch number as a comment:
|
||||
|
||||
XXX Describe the transmogrify() function added to the socket
|
||||
module.
|
||||
(Contributed by P.Y. Developer in :issue:`12345`.)
|
||||
|
||||
This saves the maintainer the effort of going through the Mercurial log
|
||||
when researching a change.
|
||||
|
||||
This article explains the new features in Python 3.12, compared to 3.10.
|
||||
|
||||
For full details, see the :ref:`changelog <changelog>`.
|
||||
|
||||
.. note::
|
||||
|
||||
Prerelease users should be aware that this document is currently in draft
|
||||
form. It will be updated substantially as Python 3.12 moves towards release,
|
||||
so it's worth checking back even after reading earlier versions.
|
||||
|
||||
|
||||
Summary -- Release highlights
|
||||
=============================
|
||||
|
||||
.. This section singles out the most important changes in Python 3.12.
|
||||
Brevity is key.
|
||||
|
||||
|
||||
.. PEP-sized items next.
|
||||
|
||||
|
||||
|
||||
New Features
|
||||
============
|
||||
|
||||
|
||||
|
||||
Other Language Changes
|
||||
======================
|
||||
|
||||
|
||||
|
||||
New Modules
|
||||
===========
|
||||
|
||||
* None yet.
|
||||
|
||||
|
||||
Improved Modules
|
||||
================
|
||||
|
||||
|
||||
Optimizations
|
||||
=============
|
||||
|
||||
|
||||
|
||||
|
||||
Build and C API Changes
|
||||
=======================
|
||||
|
||||
* :c:func:`PyFrame_BlockSetup` and :c:func:`PyFrame_BlockPop` have been removed.
|
||||
|
||||
Deprecated
|
||||
==========
|
||||
|
||||
|
||||
|
||||
Removed
|
||||
=======
|
||||
|
||||
|
||||
|
||||
Porting to Python 3.12
|
||||
======================
|
||||
|
||||
This section lists previously described changes and other bugfixes
|
||||
that may require changes to your code.
|
|
@ -17,13 +17,13 @@
|
|||
/* Version parsed out into numeric values */
|
||||
/*--start constants--*/
|
||||
#define PY_MAJOR_VERSION 3
|
||||
#define PY_MINOR_VERSION 11
|
||||
#define PY_MINOR_VERSION 12
|
||||
#define PY_MICRO_VERSION 0
|
||||
#define PY_RELEASE_LEVEL PY_RELEASE_LEVEL_BETA
|
||||
#define PY_RELEASE_SERIAL 1
|
||||
#define PY_RELEASE_LEVEL PY_RELEASE_LEVEL_ALPHA
|
||||
#define PY_RELEASE_SERIAL 0
|
||||
|
||||
/* Version as a string */
|
||||
#define PY_VERSION "3.11.0b1"
|
||||
#define PY_VERSION "3.12.0a0"
|
||||
/*--end constants--*/
|
||||
|
||||
/* Version as a single 4-byte hex number, e.g. 0x010502B2 == 1.5.2b2.
|
||||
|
|
14
README.rst
14
README.rst
|
@ -1,5 +1,5 @@
|
|||
This is Python version 3.11.0 beta 1
|
||||
====================================
|
||||
This is Python version 3.12.0 alpha 0
|
||||
=====================================
|
||||
|
||||
.. image:: https://github.com/python/cpython/workflows/Tests/badge.svg
|
||||
:alt: CPython build status on GitHub Actions
|
||||
|
@ -133,7 +133,7 @@ What's New
|
|||
----------
|
||||
|
||||
We have a comprehensive overview of the changes in the `What's New in Python
|
||||
3.11 <https://docs.python.org/3.11/whatsnew/3.11.html>`_ document. For a more
|
||||
3.12 <https://docs.python.org/3.12/whatsnew/3.12.html>`_ document. For a more
|
||||
detailed change log, read `Misc/NEWS
|
||||
<https://github.com/python/cpython/blob/main/Misc/NEWS.d>`_, but a full
|
||||
accounting of changes can only be gleaned from the `commit history
|
||||
|
@ -146,7 +146,7 @@ entitled "Installing multiple versions".
|
|||
Documentation
|
||||
-------------
|
||||
|
||||
`Documentation for Python 3.11 <https://docs.python.org/3.11/>`_ is online,
|
||||
`Documentation for Python 3.12 <https://docs.python.org/3.12/>`_ is online,
|
||||
updated daily.
|
||||
|
||||
It can also be downloaded in many formats for faster access. The documentation
|
||||
|
@ -206,8 +206,8 @@ intend to install multiple versions using the same prefix you must decide which
|
|||
version (if any) is your "primary" version. Install that version using ``make
|
||||
install``. Install all other versions using ``make altinstall``.
|
||||
|
||||
For example, if you want to install Python 2.7, 3.6, and 3.11 with 3.11 being the
|
||||
primary version, you would execute ``make install`` in your 3.11 build directory
|
||||
For example, if you want to install Python 2.7, 3.6, and 3.12 with 3.12 being the
|
||||
primary version, you would execute ``make install`` in your 3.12 build directory
|
||||
and ``make altinstall`` in the others.
|
||||
|
||||
|
||||
|
@ -238,7 +238,7 @@ All current PEPs, as well as guidelines for submitting a new PEP, are listed at
|
|||
Release Schedule
|
||||
----------------
|
||||
|
||||
See :pep:`664` for Python 3.11 release details.
|
||||
See :pep:`664` for Python 3.12 release details.
|
||||
|
||||
|
||||
Copyright and License Information
|
||||
|
|
|
@ -6,7 +6,7 @@ dnl Python's configure script requires autoconf 2.69 and autoconf-archive.
|
|||
dnl
|
||||
|
||||
# Set VERSION so we only need to edit in one place (i.e., here)
|
||||
m4_define(PYTHON_VERSION, 3.11)
|
||||
m4_define(PYTHON_VERSION, 3.12)
|
||||
|
||||
AC_PREREQ([2.69])
|
||||
|
||||
|
|
Loading…
Reference in New Issue