gpt4 book ai didi

python - 从源代码构建 Python 时,./configure 使用什么标志

转载 作者:行者123 更新时间:2023-12-05 02:37:29 24 4
gpt4 key购买 nike

我正在 Ubuntu 18.04 上从源代码构建 Python 3.10,遵循几个 Web 链接的说明,主要是 Python 网站 (https://devguide.python.org/setup) 和 RealPython (https://realpython.com/installing-python/#how-to-build-python-from-source-code)。我将 Python-3.10.0.tgz 提取到 /opt/Python3.10 中。我有三个问题。

首先,Python 网站说要使用 ./configure --with-pydebug 而 RealPython 说要使用 ./configure --enable-optimizations --with-ensurepip=install。另一个来源说要包括 --enable-shared--enable-unicode=ucs4。这些哪个最好?我应该使用所有这些标志吗?

其次,我目前安装了 Python 3.6 和 Python 3.8。它们安装在 /usr 下的几个目录中。按照我在网上看到的说明,我正在/opt/Python3.10 中构建。我假设 make altinstall(最后的构建步骤)将负责将构建安装到 /usr 下的常用文件夹中,但这并不清楚。我应该使用 ./configure --prefix=directory 尽管没有网络资源提到这样做吗?

最后,--enable-optimizations 会使安装过程变慢多少?

这是我第一次从源代码构建 Python,它将有助于清除这些问题。感谢您的帮助。

最佳答案

欢迎来到 Python 构建配置的世界!我将通过命令行选项转到 ./configure一个一个。

--with-pydebug适用于核心 Python 开发人员,而不是仅使用 Python 的开发人员(如您和我)。它创建调试符号并减慢执行速度。你不需要它。

--enable-optimizations从长远来看有利于性能,但代价是延长编译过程,可能会延长 3 倍(或更多),具体取决于您的系统。但是,它会导致执行速度更快,所以我会在您的情况下使用它。

--with-ensurepip=install很好。您需要最新版本的 pip .

--enable-shared 可能对你来说不是个好主意,所以我建议不要在这里使用它。阅读Difference between static and shared libraries?了解差异。基本上,由于您可能会安装到非系统路径( /opt/local ,见下文)几乎肯定不在您系统的共享库搜索路径上,因此您很可能会遇到问题。静态构建将所有部分都放在一个地方,因此您可以从任何地方安装和运行它。这是以尺寸为代价的 - python二进制文件将相当大——但对于非系统管理员来说非常有用。即使您最终安装到 /usr/local ,我认为静态比共享更好/更容易。

--enable-unicode=ucs4是可选的,可能与您的系统不兼容。你不需要它。 ./configure足够聪明,可以找出最好的 Unicode 设置。这个选项是从已经过时了很多版本的构建说明中遗留下来的。

--prefix我建议你使用 --prefix=/opt/local 如果该目录已经存在并且在您的 $PATH 中, 如果您知道如何编辑您的 $PATH~/.bashrc .否则,使用 /usr/local$HOME . /usr/local是本地软件安装的指定系统范围位置(即 Ubuntu 不附带的东西),并且可能已经在您的 $PATH 上了。 . $HOME始终是不需要使用 sudo 的选项,从安全角度来看,这很棒。您需要添加 /home/<i>your_username</i>/bin给你的$PATH如果它还不存在。

关于python - 从源代码构建 Python 时,./configure 使用什么标志,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69958768/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com