如何从源代码构建 Python 3.4.6?

Posted

技术标签:

【中文标题】如何从源代码构建 Python 3.4.6?【英文标题】:How to build Python 3.4.6 from source? 【发布时间】:2017-04-25 22:43:43 【问题描述】:

我想安装 Python 3.4.6,但它只有源代码格式。

官方 Python 网站上的安装选项是 Gzip 源 tarball 和 XZ 压缩源 tarball。我以前从未以这种方式安装过 Python,所以我不知道该怎么做。如何安装 Python 以及下载什么文件?

https://www.python.org/downloads/release/python-346/

【问题讨论】:

Python 也有二进制格式。您使用的是什么操作系统? @Alden 我使用的是 Windows 10,这个特定版本的 Python 仅在源代码中可用。 python.org/downloads/release/python-345 有 Python 3.4.4 的安装包:python.org/ftp/python/3.4.4。如果第三个版本号对你没有任何意义...... @PhilipTzou 我宁愿使用 python 3.4.6 好的,3.4.6没有官方的windows安装包,你必须自己构建或者从一些第三方网站上找到它。我不推荐第二种方式,因为它可能对您的计算机造成危险。 【参考方案1】:
    以 .tar.gz 格式下载源代码 使用诸如7-Zip之类的程序提取源代码 按照PCbuild\readme.txt 中的说明进行操作

您将需要越来越难找到的 Visual Studio 2010 Express。请参阅this question 中的 cmets 以获取下载链接。您还可以尝试使用 Visual Studio Community 2017,它可能也可以正常工作。您真正需要做的就是打开解决方案并单击构建。

【讨论】:

值得构建还是只安装 3.4.4? 您可能对 3.4.4 没问题,但如果您需要后续版本中的额外错误修复或功能,那么我会构建。【参考方案2】:

Python 3.4 分支处于仅安全修复模式。这意味着此分支将只接受安全修复,不再接受非关键错误修复。此分支上的新版本仅限源代码,不会提供二进制文件。 See the official announcement.

如果你真的需要一个用于 windows 的 python 3.4.6 二进制文件,你必须自己编译它。但是,如果您是 python 新手,只是想尝试或学习 python,那么您没有理由不能使用 3.4.4 或 3.6.x 版本。

【讨论】:

【参考方案3】:

使用最新版本

第 1 步 – 先决条件 在安装 Python 之前,使用以下命令安装 Python 的先决条件。

sudo apt-get install build-essential checkinstall
sudo apt-get install libreadline-gplv2-dev libncursesw5-dev libssl-dev \
    libsqlite3-dev tk-dev libgdbm-dev libc6-dev libbz2-dev

第 2 步 - 下载 Python 3.7 使用以下命令从 python 官方网站下载 Python。您也可以下载最新版本来代替下面指定的。

cd /usr/src
wget wget https://www.python.org/ftp/python/3.7.0/Python-3.7.0.tgz

现在解压下载的包。

sudo tar xzf Python-3.7.0.tgz

第 3 步 – 编译 Python 源代码 使用以下命令集在您的系统上使用 altinstall 编译 python 源代码。

cd Python-3.7.0
sudo ./configure --enable-optimizations
sudo make altinstall
make altinstall is used to prevent replacing the default python binary file /usr/bin/python.

第 4 步 – 检查 Python 版本 使用以下命令检查安装的最新版本的 python

python3.7 -V

Python-3.7.0

【讨论】:

以上是关于如何从源代码构建 Python 3.4.6?的主要内容,如果未能解决你的问题,请参考以下文章

如何从源代码构建 MultiNEAT?

如何从 Sublime Text 2 运行 Python 代码?

python中for...if...构建List

Python之每个人都应该知道的30个一行代码程序

从 python 代码构建 exe 以避免 AV 误报的最佳方法

我应该如何构建包含 Cython 代码的 Python 包