如何从源代码构建 Python

举报
Tiamo_T 发表于 2021/08/18 00:46:32 2021/08/18
【摘要】 有时,您的 Linux 发行版没有最新版本的 Python,或者您可能只想自己构建最新、最好的版本。以下是从源代码构建 Python 所需的步骤:第 1 步:下载源代码首先,您需要获取 Python 源代码。Python.org 使这变得相当简单。如果您转到“下载”页面,则会在顶部看到 Python 3 的最新源代码。只要确保您没有使用 Legacy Python、Python 2!当您选择...

有时,您的 Linux 发行版没有最新版本的 Python,或者您可能只想自己构建最新、最好的版本。以下是从源代码构建 Python 所需的步骤:

第 1 步:下载源代码

首先,您需要获取 Python 源代码。Python.org 使这变得相当简单。如果您转到“下载”页面,则会在顶部看到 Python 3 的最新源代码。只要确保您没有使用 Legacy Python、Python 2!

当您选择 Python 3 版本时,您将在页面底部看到一个“文件”部分。选择Gzipped 源 tarball并将其下载到您的机器上。如果您更喜欢命令行方法,可以使用wget将文件下载到当前目录:

$ wget https://www.python.org/ftp/python/3.8.4/Python-3.8.4.tgz

tarball 下载完成后,您需要做一些事情来准备系统以构建 Python。

第 2 步:准备您的系统

从头开始构建 Python 涉及一些特定于发行版的步骤。在所有发行版上,每个步骤的目标都是相同的,但如果它不使用,您可能需要转换为您的发行版apt-get

  1. 首先,更新您的软件包管理器并升级您的软件包:

    $ sudo apt-get update
    $ sudo apt-get upgrade
    
  2. 接下来,确保您已安装所有构建要求:

    # For apt-based systems (like Debian, Ubuntu, and Mint)
    $ sudo apt-get install -y make build-essential libssl-dev zlib1g-dev \
           libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm \
           libncurses5-dev libncursesw5-dev xz-utils tk-dev
    
    # For yum-based systems (like CentOS)
    $ sudo yum -y groupinstall "Development Tools"
    $ sudo yum -y install gcc openssl-devel bzip2-devel libffi-devel
    

    如果您的系统上已经安装了一些要求,那就没问题了。您可以执行上述命令,任何现有的包都不会被覆盖。

现在您的系统已准备就绪,是时候开始构建 Python 了!

第 3 步:构建 Python

  1. 获得先决条件和 TAR 文件后,您可以将源代码解压到一个目录中。请注意,以下命令将Python-3.8.3在您所在的目录下创建一个名为的新目录:

    $ tar xvf Python-3.8.4.tgz
    $ cd Python-3.8.4
    
  2. 现在您需要运行该./configure工具来准备构建:

    $ ./configure --enable-optimizations --with-ensurepip=install
    

    enable-optimizations标志将启用 Python 中的一些优化,使其运行速度提高约 10%。这样做可能会使编译时间增加 20 或 30 分钟。该with-ensurepip=install标志将pip与此安装捆绑安装。

  3. 接下来,您使用make. 该-j选项只是告诉make将构建拆分为并行步骤以加快编译速度。即使使用并行构建,此步骤也可能需要几分钟时间:

    $ make -j 8
    
  4. 最后,您需要安装新版本的 Python。您将在altinstall此处使用目标以避免覆盖系统 Python。由于您要安装到/usr/bin,您需要以 root 身份运行:

    $ sudo make altinstall
    

完成安装可能需要一段时间。完成后,您可以验证 Python 是否已正确设置。

步骤 4:验证您的安装

测试python3.8 --version命令返回最新版本:

$ python3.8 --version
Python 3.8.4

如果你看到了Python 3.8.4,那么你已经准备好了!

如果您有一些额外的时间,您还可以运行测试套件以确保一切在您的系统上正常运行。

要运行测试套件,请键入以下命令:

$ python3.8 -m test

您可能想暂时找点别的事情做,因为您的计算机将运行一段时间的测试。如果所有测试都通过,那么您可以确信您的全新 Python 构建按预期运行!

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。