third_party_python:基于 OpenHarmony 生态的 Python 运行环境项目

暂无描述

分支311Tags59

This is Python version 3.12.10

.. image:: https://github.com/python/cpython/workflows/Tests/badge.svg :alt: CPython 在 GitHub Actions 上的构建状态 :target: https://github.com/python/cpython/actions

.. image:: https://dev.azure.com/python/cpython/_apis/build/status/Azure Pipelines CI?branchName=main :alt: CPython 在 Azure DevOps 上的构建状态 :target: https://dev.azure.com/python/cpython/_build/latest?definitionId=4&branchName=main

.. image:: https://img.shields.io/badge/discourse-join_chat-brightgreen.svg :alt: Python Discourse 交流 :target: https://discuss.python.org/

Copyright © 2001-2024 Python Software Foundation. All rights reserved.

有关进一步的版权和许可信息,请参见本文档末尾。

.. contents::

一般信息

为 CPython 做贡献

有关为 CPython 开发做贡献的更完整说明,请参阅 开发者指南_。

.. _开发者指南: https://devguide.python.org/

使用 Python

可安装的 Python 工具包以及有关使用 Python 的信息,请访问 python.org_。

.. _python.org: https://www.python.org/

构建说明

在 Unix、Linux、BSD、macOS 和 Cygwin 上:::

./configure make make test sudo make install

这会将 Python 安装为 python3。

您可以向 configure 脚本传递许多选项;运行 ./configure --help 以了解更多信息。在 macOS 不区分大小写的文件系统和 Cygwin 上,可执行文件名为 python.exe;在其他地方则简称为 python。

构建完整的 Python 安装需要使用各种额外的第三方库,具体取决于您的构建平台和配置选项。并非所有标准库模块都能在所有平台上构建或使用。有关各种 Linux 发行版和 macOS 依赖项的最新详细信息,请参阅 开发者指南_ 中的 安装依赖项 部分。

在 macOS 上,有与 macOS 框架和通用构建相关的其他配置和构建选项。请参阅 Mac/README.rst。

在 Windows 上,请参见 PCbuild/readme.txt。

如果需要,您可以创建一个子目录并从那里调用 configure。例如:::

mkdir debug cd debug ../configure --with-pydebug make make test

(如果您也在顶级目录进行了构建,这将失败。您应该先在顶级目录执行 make clean。)

要获得 Python 的优化构建,请在运行 make 之前执行 configure --enable-optimizations。这会将默认的 make 目标设置为启用配置文件引导优化(PGO),并可用于在某些平台上自动启用链接时优化(LTO)。有关更多详细信息,请参见下面的部分。

配置文件引导优化 ^^^^^^^^^^^^^^^^^^^^^^^^^^^

PGO 利用了 GCC 或 Clang 编译器的最新版本。如果通过 configure --enable-optimizations 使用,或者无论配置标志如何,通过手动运行 make profile-opt,优化构建过程将执行以下步骤:

Python 目录中的所有可能由先前编译产生的临时文件都将被清理。

构建一个插装版本的解释器,为每种编译器使用合适的编译器标志。请注意,这只是一个中间步骤。此步骤生成的二进制文件不适合实际工作负载,因为它内嵌了分析指令。

插装解释器构建完成后,Makefile 将运行一个训练工作负载。这是为了解析解释器的执行情况所必需的。另请注意,此步骤可能出现的任何输出(包括 stdout 和 stderr)都将被抑制。

最后一步是使用从插装解释器收集的信息构建实际的解释器。最终结果将是一个经过优化的 Python 二进制文件,适合分发或生产环境安装。

链接时优化 ^^^^^^^^^^^^^^^^^^^^^^

通过 configure 的 --with-lto 标志启用。LTO 利用了最新编译器工具链在构建最终可执行文件或共享库时跨原本任意的 .o 文件边界进行优化的能力,以获得额外的性能提升。

新增内容

我们在《Python 3.12 新增内容》文档中提供了变更的全面概述。若需更详细的变更日志,请阅读 Misc/NEWS,但完整的变更情况只能从提交历史中获取。

如果您想安装多个 Python 版本,请参阅下文“安装多个版本”部分。

文档

Python 3.12 文档已在线发布,每日更新。

您也可以下载多种格式的文档以加快访问速度。文档提供 HTML、PDF 和 reStructuredText 格式下载;其中 reStructuredText 版本主要面向文档作者、翻译人员以及有特殊格式需求的用户。

有关构建 Python 文档的信息,请参阅 Doc/README.rst。

测试

要测试解释器,请在顶级目录中输入 make test。测试集将生成一些输出。对于因无法导入可选功能而跳过测试的相关消息,您通常可以忽略。如果打印出测试失败的消息,或者产生回溯信息或核心转储,则表明存在问题。

默认情况下,测试会避免过度使用磁盘空间和内存等资源。要启用这些测试,请运行 make testall。

如果有任何测试失败,您可以在详细模式下重新运行失败的测试。例如,如果 test_os 和 test_gdb 失败,您可以运行:

::

make test TESTOPTS="-v test_os test_gdb"

如果问题持续存在,且似乎是 Python 本身的问题而非您的环境问题,您可以提交错误报告,并附上该命令的相关输出以说明问题。

有关运行测试的更多信息,请参见《运行与编写测试》。

安装多个版本

在 Unix 和 Mac 系统上,如果您打算使用相同的安装前缀(即 configure 脚本的 --prefix 参数)安装多个 Python 版本,必须注意确保您的主要 python 可执行文件不会被其他版本的安装覆盖。使用 make altinstall 安装的所有文件和目录都包含主版本号和次版本号,因此可以共存。make install 还会创建 ${prefix}/bin/python3,它指向 ${prefix}/bin/python3.X。如果您打算使用相同的前缀安装多个版本,必须确定哪个版本(如果有)是您的“主要”版本。使用 make install 安装该版本。使用 make altinstall 安装所有其他版本。

例如,如果您想安装 Python 2.7、3.6 和 3.12,并将 3.12 作为主要版本,您可以在 3.12 的构建目录中执行 make install,在其他版本的构建目录中执行 make altinstall。

发布时间表

有关 Python 3.12 的发布详情,请参见 :pep:693。

版权和许可信息

版权所有 © 2001-2024 Python Software Foundation。保留所有权利。

版权所有 © 2000 BeOpen.com。保留所有权利。

版权所有 © 1995-2001 Corporation for National Research Initiatives。保留所有权利。

版权所有 © 1991-1995 Stichting Mathematisch Centrum。保留所有权利。

有关本软件的历史、使用条款与条件以及所有保证的免责声明,请参见 LICENSE。

此 Python 发行版不包含任何 GNU 通用公共许可证(GPL)代码,因此可用于专有项目。它包含一些与 GNU 代码的接口,但这些接口完全是可选的。

本文提及的所有商标均为其各自所有者的财产。