Fedora 系统 python3 解释器和制作 altinstall
Fedora system python3 interpreter and making altinstall
我正在设置 Fedora 31,因为我正在从 windows 进行切换,最后。我通过
安装了 python2.7
./configure --enable-optimizations
make altinstall
方式。 This 描述了我们必须使用 altinstall
以便不覆盖/破坏系统 (fedora) 附带的 python 解释器。一切顺利,自定义 python2.7 安装。它位于 /usr/local/bin/python2.7
中,因此与系统的 python 不同,后者可能是 /usr/bin/python
.
中的那个
现在我也想安装自定义 python3。我用谷歌搜索发现最快的方法是 dnf install python3 但令我惊讶的是它返回包 python3-3.7.5-1.fc31.x86_64 已经安装。而且我不记得安装它(如果它不包含在 "Development Tools" 中)
第一个问题:为什么Fedora自带系统python解释器?他们有什么用?另一个 python 名称与 sys py 完全相同但由于其 PATH 位置而较早发现的解释器是否会破坏事物?或者 sys py 只是用于 运行 一些 python 包含系统的 shebang 的脚本 python?
第二:
由于 已经位于 /usr/bin/python3
内,我想知道 Fedora 是否也附带了一个不应触及的系统 python3(因为 python2.7 将在几周内弃用)。
如果是,我可能应该编译另一个 python3,它应该在 /usr/local/bin/
中,就像我的自定义 python2.7 一样。然而,doc 似乎会安装在 /usr/bin/
中,但我不明白他们写的关于前缀的内容。
第三个问题:编译python3是否需要任何其他依赖项,因为this mentions builddep
(zlib e.g.) but https://docs.python.org/3/using/unix.html不需要。
谢谢
Fedora 与大多数其他 Linux 发行版一样,提供使用多种语言编写的软件,包括 Python。如果想要 运行 Python 程序,则需要 Python 解释器,因此 Fedora 提供了一个。
通常,文件系统层次结构标准意味着供应商(例如 Linux 发行版)应该在 /usr/bin
中发布他们的解释器,所以 dnf install python3
安装标准的 Fedora python3
包,其中提供 /usr/bin/python3
。它已经安装,因为某些程序(可能 dnf
本身)需要它。
一般来说,发行版将他们脚本的 shebang 指定为解释器的绝对路径,而不是使用 /usr/bin/env
,所以如果你选择安装 Python 的版本应该没问题像 /usr/local/bin
这样的地方。如果您使用来自其他来源的脚本,这些脚本确实使用 /usr/bin/env
但需要系统解释器,您可能 运行 会遇到问题。
如果您正在寻找在您的系统上构建 Python 3 所需的依赖项,最简单的查找方法是查看源包(在本例中为 Fedora 源 RPM)看看它有什么依赖关系。安装这些依赖项应该足以编译 Python 除非你选择使用不同的或非标准的选项来编译它。
我正在设置 Fedora 31,因为我正在从 windows 进行切换,最后。我通过
安装了 python2.7./configure --enable-optimizations
make altinstall
方式。 This 描述了我们必须使用 altinstall
以便不覆盖/破坏系统 (fedora) 附带的 python 解释器。一切顺利,自定义 python2.7 安装。它位于 /usr/local/bin/python2.7
中,因此与系统的 python 不同,后者可能是 /usr/bin/python
.
现在我也想安装自定义 python3。我用谷歌搜索发现最快的方法是 dnf install python3 但令我惊讶的是它返回包 python3-3.7.5-1.fc31.x86_64 已经安装。而且我不记得安装它(如果它不包含在 "Development Tools" 中)
第一个问题:为什么Fedora自带系统python解释器?他们有什么用?另一个 python 名称与 sys py 完全相同但由于其 PATH 位置而较早发现的解释器是否会破坏事物?或者 sys py 只是用于 运行 一些 python 包含系统的 shebang 的脚本 python?
第二:
由于 已经位于 /usr/bin/python3
内,我想知道 Fedora 是否也附带了一个不应触及的系统 python3(因为 python2.7 将在几周内弃用)。
如果是,我可能应该编译另一个 python3,它应该在 /usr/local/bin/
中,就像我的自定义 python2.7 一样。然而,doc 似乎会安装在 /usr/bin/
中,但我不明白他们写的关于前缀的内容。
第三个问题:编译python3是否需要任何其他依赖项,因为this mentions builddep
(zlib e.g.) but https://docs.python.org/3/using/unix.html不需要。
谢谢
Fedora 与大多数其他 Linux 发行版一样,提供使用多种语言编写的软件,包括 Python。如果想要 运行 Python 程序,则需要 Python 解释器,因此 Fedora 提供了一个。
通常,文件系统层次结构标准意味着供应商(例如 Linux 发行版)应该在 /usr/bin
中发布他们的解释器,所以 dnf install python3
安装标准的 Fedora python3
包,其中提供 /usr/bin/python3
。它已经安装,因为某些程序(可能 dnf
本身)需要它。
一般来说,发行版将他们脚本的 shebang 指定为解释器的绝对路径,而不是使用 /usr/bin/env
,所以如果你选择安装 Python 的版本应该没问题像 /usr/local/bin
这样的地方。如果您使用来自其他来源的脚本,这些脚本确实使用 /usr/bin/env
但需要系统解释器,您可能 运行 会遇到问题。
如果您正在寻找在您的系统上构建 Python 3 所需的依赖项,最简单的查找方法是查看源包(在本例中为 Fedora 源 RPM)看看它有什么依赖关系。安装这些依赖项应该足以编译 Python 除非你选择使用不同的或非标准的选项来编译它。