【问题标题】:pip: force install ignoring dependenciespip:强制安装忽略依赖项
【发布时间】:2021-09-18 06:44:45
【问题描述】:

有什么方法可以强制安装 pip python 包,忽略所有无法满足的依赖项?

(我不在乎这样做有多“错误”,我只需要这样做,除了任何逻辑和推理......)

【问题讨论】:

  • 你试过pip install --no-deps <LIB>吗?

标签: python pip


【解决方案1】:

pip 有一个--no-dependencies 开关。你应该使用它。

如需更多信息,请运行pip install -h,您将在其中看到以下行:

--no-deps, --no-dependencies
                        Ignore package dependencies

【讨论】:

  • 如何在 requirements.txt 文件中传递这个?
  • 使用 requirements.txt 运行,它将是:pip install --no-deps -r requirements.txt
  • 任何类似的东西都可以防止安装推荐的软件包,比如apt-get install --no-install-recommends?
  • @Connor 在任何标准 Python 打包工具中都没有与“推荐包”等效的东西:distutils、setuptools、pip。 Setuptools(和 pip)具有“附加功能”,但必须由用户明确选择和安装。
  • 这似乎不适用于本地包。 pip install --no-deps /path/to/package 给出消息“正在安装构建依赖项”并尝试安装构建依赖项。
【解决方案2】:

当我尝试使用pip (pip install librosa) 安装librosa 软件包时,出现了这个错误:

ERROR: Cannot uninstall 'llvmlite'. It is a distutils installed project and thus we cannot accurately determine which files belong to it which would lead to only a partial uninstall.

我试图删除llvmlite,但pip uninstall 无法删除它。所以,我通过这段代码使用了ignorepip 的能力:

pip install librosa --ignore-installed llvmlite

确实,您可以使用此规则来忽略您不想考虑的包:

pip install {package you want to install} --ignore-installed {installed package you don't want to consider}

【讨论】:

  • 这并不是操作所要求的。根据手册页 -I, --ignore-installed 忽略已安装的软件包(而是重新安装)。这个标志将明确地重新安装指定的包,即使它们已经安装了
  • 有没有办法在安装前查看哪些包会受到影响?告诉pip 忽略很多包怎么样?
【解决方案3】:

尝试以下方法:

pip install --no-deps <LIB_NAME>

pip install --no-dependencies <LIB_NAME>

pip install --no-deps -r requirements.txt

pip install --no-dependencies -r requirements.txt

【讨论】:

    猜你喜欢
    • 2020-02-02
    • 2018-01-13
    • 2016-08-21
    • 2018-09-27
    • 2011-01-20
    • 2017-10-31
    • 2018-01-08
    • 2021-05-29
    • 2023-04-03
    相关资源
    最近更新 更多