用于安装构建依赖项的 Pip Install 子进程未成功运行

问题描述 投票:0回答:1

我在这里尝试了一些与更新安装工具相关的其他线程,但没有骰子。

我有一台最终将是气隙的机器。我正在尝试简化安装过程。这样做时,我现在的程序包括进入相同的工作机器并使用

pip freeze
生成
requirements.txt

然后我在目标机器上,放置

requirements.txt
。我暂时打开互联网进行测试。我在
pip download
上做了
requirements.txt
来拉取包裹。然后我关闭了互联网并尝试了
pip install --no-index --find-links=. requirements.txt

它可以很好地安装前几个软件包,但随后它会遇到一些软件包

` 处理 ./ansible-vault-2.1.0.tar.gz(来自 -rrequirements.txt(第 3 行)) 安装构建依赖项...错误 错误:子进程退出并出现错误

× 用于安装构建依赖项的 pip 子进程未成功运行。 │ 退出代码:1 ╰─>【4行输出】 查看链接: . 处理./setuptools-68.2.2-py3-none-any.whl 错误:找不到满足要求轮的版本(来自版本:无) 错误:找不到车轮的匹配分布 [输出结束]

注意:此错误源自子进程,并且可能不是 pip 的问题。 错误:子进程退出并出现错误

× 用于安装构建依赖项的 pip 子进程未成功运行。 │ 退出代码:1 ╰─> 请参阅上面的输出。

这种情况发生在几个不同的软件包上,但我找不到任何会导致这种情况的原因。有人能给我指出正确的方向吗,因为我尝试过的几个线程和我尝试过的几个谷歌搜索几乎都指向确保你的包适用于正确的Python版本(它们必须是,我拉了它们从我尝试安装的版本开始),并更新安装工具(我做到了)。

谢谢

python pip subprocess
1个回答
0
投票

使用

pip download --platform <platform>
将解决您的问题

pip 中

--platform
标志的平台选项列表可能会有所不同,具体取决于 Python 包索引 (PyPI) 中可用的特定包和版本。但是,以下是您可能会遇到的一些常见平台选项:

  1. win32
    :32位Windows平台。
  2. win_amd64
    :64 位 Windows 平台。
  3. macosx_10_9_x86_64
    :面向 x86_64 架构(64 位)的 macOS 平台。
  4. manylinux1_x86_64
    :ManyLinux 平台针对 x86_64 架构(64 位),以与许多 Linux 发行版兼容。
  5. manylinux1_i686
    :ManyLinux 平台针对 i686 架构(32 位),与许多 Linux 发行版兼容。
  6. manylinux2010_x86_64
    :面向 x86_64 架构的 ManyLinux 2010 平台。
  7. manylinux2010_i686
    :面向 i686 架构的 ManyLinux 2010 平台。
  8. manylinux_2_24_x86_64
    :面向 x86_64 架构的 ManyLinux 2.24 平台。
  9. manylinux_2_24_i686
    :面向 i686 架构的 ManyLinux 2.24 平台。
  10. linux_x86_64
    :针对 x86_64 架构的 Linux 平台。
  11. linux_i686
    :针对 i686 架构的 Linux 平台。
  12. linux_armv7l
    :针对ARMv7架构的Linux平台。
  13. linux_aarch64
    :针对 ARM64 (AArch64) 架构的 Linux 平台。
  14. linux_ppc64le
    :针对 PowerPC 64 位(小端)架构的 Linux 平台。

这些是一些常见的平台选项,随着新平台的支持和旧平台变得不那么相关,具体列表可能会随着时间的推移而变化。要查看 PyPI 上可用平台及其相应软件包支持的完整列表,您可以使用

pip download --platform
命令,如前所述。

对于我的情况,我使用的是

debian-buster
对于 Debian Buster(即 Debian 10),适合许多 Python 软件包的平台选项是
manylinux2010_x86_64
。该平台旨在通过使用 Manylinux 标准来提供与各种 Linux 发行版的兼容性,包括 Debian 10 (Buster) 等较旧的发行版。

您可以在使用

pip download
命令时指定平台,如下所示:

pip download --platform manylinux2010_x86_64 <package-name>

此命令将下载与 Debian 10 (Buster) 和许多其他遵循 Manylinux2010 标准的 Linux 发行版兼容的软件包。但是,并非所有软件包都有特定的 Manylinux2010_x86_64 版本可用,因此您可能需要在 PyPI 上检查软件包的可用性以及与您的特定平台的兼容性。

© www.soinside.com 2019 - 2024. All rights reserved.