mirror of
https://github.com/python/cpython
synced 2024-09-05 08:17:45 +00:00
Python 3.10.0a0 (GH-20198)
This commit is contained in:
parent
9095f76613
commit
d4fe098d1e
|
@ -10,13 +10,13 @@ Using the Python Interpreter
|
|||
Invoking the Interpreter
|
||||
========================
|
||||
|
||||
The Python interpreter is usually installed as :file:`/usr/local/bin/python3.9`
|
||||
The Python interpreter is usually installed as :file:`/usr/local/bin/python3.10`
|
||||
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.9
|
||||
python3.10
|
||||
|
||||
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.9` command will be available. If you have
|
||||
<windows-store>`, the :file:`python3.10` 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.9
|
||||
Python 3.9 (default, June 4 2019, 09:25:04)
|
||||
$ python3.10
|
||||
Python 3.10 (default, June 4 2019, 09:25:04)
|
||||
[GCC 4.8.2] 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:\\Python39'
|
||||
'C:\\Python310'
|
||||
>>> 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:/python39/lib/weakref.py", line 46, in __getitem__
|
||||
File "C:/python310/lib/weakref.py", line 46, in __getitem__
|
||||
o = self.data[key]()
|
||||
KeyError: 'primary'
|
||||
|
||||
|
|
115
Doc/whatsnew/3.10.rst
Normal file
115
Doc/whatsnew/3.10.rst
Normal file
|
@ -0,0 +1,115 @@
|
|||
****************************
|
||||
What's New In Python 3.10
|
||||
****************************
|
||||
|
||||
: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.10, compared to 3.9.
|
||||
|
||||
For full details, see the :source:`Misc/NEWS` file.
|
||||
|
||||
.. note::
|
||||
|
||||
Prerelease users should be aware that this document is currently in draft
|
||||
form. It will be updated substantially as Python 3.10 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.10.
|
||||
Brevity is key.
|
||||
|
||||
|
||||
.. PEP-sized items next.
|
||||
|
||||
|
||||
|
||||
New Features
|
||||
============
|
||||
|
||||
|
||||
|
||||
Other Language Changes
|
||||
======================
|
||||
|
||||
|
||||
|
||||
New Modules
|
||||
===========
|
||||
|
||||
* None yet.
|
||||
|
||||
|
||||
Improved Modules
|
||||
================
|
||||
|
||||
|
||||
Optimizations
|
||||
=============
|
||||
|
||||
|
||||
Build and C API Changes
|
||||
=======================
|
||||
|
||||
|
||||
|
||||
Deprecated
|
||||
==========
|
||||
|
||||
|
||||
|
||||
Removed
|
||||
=======
|
||||
|
||||
|
||||
|
||||
Porting to Python 3.10
|
||||
======================
|
||||
|
||||
This section lists previously described changes and other bugfixes
|
||||
that may require changes to your code.
|
||||
|
||||
|
|
@ -11,6 +11,7 @@ anyone wishing to stay up-to-date after a new release.
|
|||
.. toctree::
|
||||
:maxdepth: 2
|
||||
|
||||
3.10.rst
|
||||
3.9.rst
|
||||
3.8.rst
|
||||
3.7.rst
|
||||
|
|
|
@ -17,13 +17,13 @@
|
|||
/* Version parsed out into numeric values */
|
||||
/*--start constants--*/
|
||||
#define PY_MAJOR_VERSION 3
|
||||
#define PY_MINOR_VERSION 9
|
||||
#define PY_MINOR_VERSION 10
|
||||
#define PY_MICRO_VERSION 0
|
||||
#define PY_RELEASE_LEVEL PY_RELEASE_LEVEL_ALPHA
|
||||
#define PY_RELEASE_SERIAL 6
|
||||
#define PY_RELEASE_SERIAL 0
|
||||
|
||||
/* Version as a string */
|
||||
#define PY_VERSION "3.9.0a6+"
|
||||
#define PY_VERSION "3.10.0a0"
|
||||
/*--end constants--*/
|
||||
|
||||
/* Version as a single 4-byte hex number, e.g. 0x010502B2 == 1.5.2b2.
|
||||
|
|
|
@ -1297,7 +1297,7 @@ calculate_zip_path(PyCalculatePath *calculate)
|
|||
PyStatus res;
|
||||
|
||||
/* Path: <PLATLIBDIR> / "python00.zip" */
|
||||
wchar_t *path = joinpath2(calculate->platlibdir_macro, L"python00.zip");
|
||||
wchar_t *path = joinpath2(calculate->platlibdir_macro, L"python000.zip");
|
||||
if (path == NULL) {
|
||||
return _PyStatus_NO_MEMORY();
|
||||
}
|
||||
|
@ -1305,7 +1305,7 @@ calculate_zip_path(PyCalculatePath *calculate)
|
|||
if (calculate->prefix_found > 0) {
|
||||
/* Use the reduced prefix returned by Py_GetPrefix()
|
||||
|
||||
Path: <basename(basename(prefix))> / <PLATLIBDIR> / "python00.zip" */
|
||||
Path: <basename(basename(prefix))> / <PLATLIBDIR> / "python000.zip" */
|
||||
wchar_t *parent = _PyMem_RawWcsdup(calculate->prefix);
|
||||
if (parent == NULL) {
|
||||
res = _PyStatus_NO_MEMORY();
|
||||
|
@ -1325,10 +1325,11 @@ calculate_zip_path(PyCalculatePath *calculate)
|
|||
goto done;
|
||||
}
|
||||
|
||||
/* Replace "00" with version */
|
||||
/* Replace "000" with the version */
|
||||
size_t len = wcslen(calculate->zip_path);
|
||||
calculate->zip_path[len - 6] = VERSION[0];
|
||||
calculate->zip_path[len - 5] = VERSION[2];
|
||||
calculate->zip_path[len - 7] = VERSION[0];
|
||||
calculate->zip_path[len - 6] = VERSION[2];
|
||||
calculate->zip_path[len - 5] = VERSION[3];
|
||||
|
||||
res = _PyStatus_OK();
|
||||
|
||||
|
|
|
@ -269,11 +269,11 @@ Py_NO_ENABLE_SHARED to find out. Also support MS_NO_COREDLL for b/w compat */
|
|||
file in their Makefile (other compilers are
|
||||
generally taken care of by distutils.) */
|
||||
# if defined(_DEBUG)
|
||||
# pragma comment(lib,"python39_d.lib")
|
||||
# pragma comment(lib,"python310_d.lib")
|
||||
# elif defined(Py_LIMITED_API)
|
||||
# pragma comment(lib,"python3.lib")
|
||||
# else
|
||||
# pragma comment(lib,"python39.lib")
|
||||
# pragma comment(lib,"python310.lib")
|
||||
# endif /* _DEBUG */
|
||||
# endif /* _MSC_VER */
|
||||
# endif /* Py_BUILD_CORE */
|
||||
|
|
1598
PC/python3.def
1598
PC/python3.def
File diff suppressed because it is too large
Load diff
|
@ -38,7 +38,7 @@ Debug
|
|||
Used to build Python with extra debugging capabilities, equivalent
|
||||
to using ./configure --with-pydebug on UNIX. All binaries built
|
||||
using this configuration have "_d" added to their name:
|
||||
python39_d.dll, python_d.exe, parser_d.pyd, and so on. Both the
|
||||
python310_d.dll, python_d.exe, parser_d.pyd, and so on. Both the
|
||||
build and rt (run test) batch files in this directory accept a -d
|
||||
option for debug builds. If you are building Python to help with
|
||||
development of CPython, you will most likely use this configuration.
|
||||
|
|
12
README.rst
12
README.rst
|
@ -1,5 +1,5 @@
|
|||
This is Python version 3.9.0 alpha 6
|
||||
====================================
|
||||
This is Python version 3.10.0 alpha 0
|
||||
=====================================
|
||||
|
||||
.. image:: https://travis-ci.org/python/cpython.svg?branch=master
|
||||
:alt: CPython build status on Travis CI
|
||||
|
@ -141,7 +141,7 @@ What's New
|
|||
----------
|
||||
|
||||
We have a comprehensive overview of the changes in the `What's New in Python
|
||||
3.9 <https://docs.python.org/3.9/whatsnew/3.9.html>`_ document. For a more
|
||||
3.10 <https://docs.python.org/3.10/whatsnew/3.10.html>`_ document. For a more
|
||||
detailed change log, read `Misc/NEWS
|
||||
<https://github.com/python/cpython/blob/master/Misc/NEWS.d>`_, but a full
|
||||
accounting of changes can only be gleaned from the `commit history
|
||||
|
@ -154,7 +154,7 @@ entitled "Installing multiple versions".
|
|||
Documentation
|
||||
-------------
|
||||
|
||||
`Documentation for Python 3.9 <https://docs.python.org/3.9/>`_ is online,
|
||||
`Documentation for Python 3.10 <https://docs.python.org/3.10/>`_ is online,
|
||||
updated daily.
|
||||
|
||||
It can also be downloaded in many formats for faster access. The documentation
|
||||
|
@ -213,8 +213,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.9 with 3.9 being the
|
||||
primary version, you would execute ``make install`` in your 3.9 build directory
|
||||
For example, if you want to install Python 2.7, 3.6, and 3.10 with 3.10 being the
|
||||
primary version, you would execute ``make install`` in your 3.10 build directory
|
||||
and ``make altinstall`` in the others.
|
||||
|
||||
|
||||
|
|
20
configure
vendored
20
configure
vendored
|
@ -1,6 +1,6 @@
|
|||
#! /bin/sh
|
||||
# Guess values for system-dependent variables and create Makefiles.
|
||||
# Generated by GNU Autoconf 2.69 for python 3.9.
|
||||
# Generated by GNU Autoconf 2.69 for python 3.10.
|
||||
#
|
||||
# Report bugs to <https://bugs.python.org/>.
|
||||
#
|
||||
|
@ -580,8 +580,8 @@ MAKEFLAGS=
|
|||
# Identity of this package.
|
||||
PACKAGE_NAME='python'
|
||||
PACKAGE_TARNAME='python'
|
||||
PACKAGE_VERSION='3.9'
|
||||
PACKAGE_STRING='python 3.9'
|
||||
PACKAGE_VERSION='3.10'
|
||||
PACKAGE_STRING='python 3.10'
|
||||
PACKAGE_BUGREPORT='https://bugs.python.org/'
|
||||
PACKAGE_URL=''
|
||||
|
||||
|
@ -1404,7 +1404,7 @@ if test "$ac_init_help" = "long"; then
|
|||
# Omit some internal or obsolete options to make the list less imposing.
|
||||
# This message is too long to be a string in the A/UX 3.1 sh.
|
||||
cat <<_ACEOF
|
||||
\`configure' configures python 3.9 to adapt to many kinds of systems.
|
||||
\`configure' configures python 3.10 to adapt to many kinds of systems.
|
||||
|
||||
Usage: $0 [OPTION]... [VAR=VALUE]...
|
||||
|
||||
|
@ -1469,7 +1469,7 @@ fi
|
|||
|
||||
if test -n "$ac_init_help"; then
|
||||
case $ac_init_help in
|
||||
short | recursive ) echo "Configuration of python 3.9:";;
|
||||
short | recursive ) echo "Configuration of python 3.10:";;
|
||||
esac
|
||||
cat <<\_ACEOF
|
||||
|
||||
|
@ -1673,7 +1673,7 @@ fi
|
|||
test -n "$ac_init_help" && exit $ac_status
|
||||
if $ac_init_version; then
|
||||
cat <<\_ACEOF
|
||||
python configure 3.9
|
||||
python configure 3.10
|
||||
generated by GNU Autoconf 2.69
|
||||
|
||||
Copyright (C) 2012 Free Software Foundation, Inc.
|
||||
|
@ -2382,7 +2382,7 @@ cat >config.log <<_ACEOF
|
|||
This file contains any messages produced by compilers while
|
||||
running configure, to aid debugging if configure makes a mistake.
|
||||
|
||||
It was created by python $as_me 3.9, which was
|
||||
It was created by python $as_me 3.10, which was
|
||||
generated by GNU Autoconf 2.69. Invocation command line was
|
||||
|
||||
$ $0 $@
|
||||
|
@ -3002,7 +3002,7 @@ rm confdefs.h
|
|||
mv confdefs.h.new confdefs.h
|
||||
|
||||
|
||||
VERSION=3.9
|
||||
VERSION=3.10
|
||||
|
||||
# Version number of Python's own shared library file.
|
||||
|
||||
|
@ -18118,7 +18118,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
|
|||
# report actual input values of CONFIG_FILES etc. instead of their
|
||||
# values after options handling.
|
||||
ac_log="
|
||||
This file was extended by python $as_me 3.9, which was
|
||||
This file was extended by python $as_me 3.10, which was
|
||||
generated by GNU Autoconf 2.69. Invocation command line was
|
||||
|
||||
CONFIG_FILES = $CONFIG_FILES
|
||||
|
@ -18180,7 +18180,7 @@ _ACEOF
|
|||
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
|
||||
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
|
||||
ac_cs_version="\\
|
||||
python config.status 3.9
|
||||
python config.status 3.10
|
||||
configured by $0, generated by GNU Autoconf 2.69,
|
||||
with options \\"\$ac_cs_config\\"
|
||||
|
||||
|
|
|
@ -3,7 +3,7 @@ dnl * Please run autoreconf to test your changes! *
|
|||
dnl ***********************************************
|
||||
|
||||
# Set VERSION so we only need to edit in one place (i.e., here)
|
||||
m4_define(PYTHON_VERSION, 3.9)
|
||||
m4_define(PYTHON_VERSION, 3.10)
|
||||
|
||||
AC_PREREQ([2.69])
|
||||
|
||||
|
|
Loading…
Reference in a new issue