pip 无法正确解决子/孙依赖关系

2023-12-01

我有一个模块的依赖关系树,其工作原理如下(→表示依赖关系):

a → b, c
b → ruamel.yaml >= 0.16.5
c → ruamel.yaml < 0.16.6, >=0.12.4

我很清楚 ruamel.yaml0.16.5将正确解决这两个依赖关系。然而,当我pip install a,我得到以下日志:

Collecting ruamel.yaml>=0.16.5
  Downloading ruamel.yaml-0.16.10-py2.py3-none-any.whl (111 kB)

然后后来:

ERROR: <package c> 0.4.0 has requirement ruamel.yaml<0.16.6,>=0.12.4, but you'll have ruamel-yaml 0.16.10 which is incompatible.

因此,pip 在选择安装哪些包时完全忽略了孙子依赖项。但它意识到最后已经搞砸了。为什么 pip 没有在这里选择正确的包。有没有办法帮助它更好地发挥作用?


我相信这是一个众所周知的问题,目前正在解决中。一周前的留言:http://pyfound.blogspot.com/2020/03/new-pip-resolver-to-roll-out-this-year.html

与此同时,可以采取一些措施来尝试缓解此类问题:

  • 恢复依赖项的顺序(在您的示例中a可以列出c before b)
  • 使用额外的requirements.txt or constraints.txt file
  • 根据实际需要,替代工具可以提供帮助(我相信poetry, pipenv,并且很可能其他人也可能有更好的依赖解析器,但它们并不是一对一的替代pip)

看来已经可以测试了pip今天的未来依赖解析器:

  • Install pip从源头
  • Run path/to/python -m pip install --unstable-feature=resolver ...

在某种程度上,似乎也可以在当前版本或中测试此依赖项解析器pip通过pip check命令。

关于该主题的更多参考:

  • https://pradyunsg.me/blog/2020/03/27/pip-resolver-testing/
  • https://discuss.python.org/t/an-update-on-pip-and-dependency-resolution/1898/2
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

pip 无法正确解决子/孙依赖关系 的相关文章

  • DataFrame 在函数内部修改

    我面临一个我以前从未观察到的函数内数据帧修改的问题 有没有一种方法可以处理这个问题 以便初始数据帧不被修改 def test df df tt np nan return df dff pd DataFrame data 现在 当我打印时d
  • Spark MLlib - 训练隐式警告

    我在使用时不断看到这些警告trainImplicit WARN TaskSetManager Stage 246 contains a task of very large size 208 KB The maximum recommend
  • Python 在 chroot 中运行时出现错误

    我尝试在 chroot 中运行一些 Python 程序 但出现以下错误 Could not find platform independent libraries
  • 底图上的子图

    我有一张英国地图和 121 个地点 每个地点有 3 个值 我想绘制 121 个位置中每个位置的三个值的小条形图 目前 这些值绘制为markersize属性 看起来像这样 密集恐惧症情节 https i stack imgur com 5fv
  • Python 遍历目录树的方法是什么?

    我觉得分配文件和文件夹并执行 item 部分有点黑客 有什么建议么 我正在使用Python 3 2 from os import from os path import def dir contents path contents list
  • Python 中的安全解除引用

    Groovy 有一个很好的安全取消引用运算符 这有助于避免 NullPointerExceptions variable method The method仅当以下情况时才会被调用variable is not null 有没有办法在 Py
  • 在Python中创建一个新表

    我正在尝试从数控机床中提取数据 事件每毫秒发生一次 我需要过滤掉一些用管道 分隔的变量分隔符 PuTTy exe 程序生成的日志文件 我尝试阅读熊猫 但列不在同一位置 df pd read table data log sep 日志文件的一
  • Django 的 URL 覆盖率测试为 0%,为什么?

    使用姜戈鼻子 我对 URL 进行了测试 但 URL 覆盖率仍然为 0 为什么 python manage py 测试配置文件 这是我的报道 Name Stmts Miss Cover Missing profiles 0 0 100 pro
  • 如何使用循环将十进制转换为二进制?

    我想编写一个程序 将十进制数 0 到 9 转换为二进制数 我可以编写如何使用重复除法将十进制数转换为二进制数的代码 但是 我在创建一个以二进制格式打印十进制数字 0 到 9 的循环时遇到了麻烦 这是我的代码 number 0 remaind
  • 用Python中的嵌套for循环替换重复的if语句?

    在我编写的下面的代码中 n 4 所以有五个 if 语句 所以如果我想将 n 增加到 比如说 10 那么就会有很多 if 语句 因此我的问题是 如何用更优雅的东西替换所有 if 语句 n p 4 5 number of trials prob
  • 如何使用 PySpark 有效地将这么多 csv 文件(大约 130,000 个)合并到一个大型数据集中?

    我之前发布了这个问题并得到了一些使用 PySpark 的建议 如何有效地将这一大数据集合并到一个大数据框中 https stackoverflow com questions 60259271 how can i merge this la
  • Python正则表达式从字符串中获取浮点数

    我正在使用正则表达式来解析字符串中的浮点数 re findall a zA Z d d t 是我使用的代码 这段代码有问题 如果数字和任何字符之间没有空格 则不会解析该数字 例如 0 1 2 3 4 5 6 7 8 9 的预期输出为 0 1
  • 从 IMDbPy 结果中的片目中获取电影 ID

    我正在尝试创建一个数据集 允许我根据 Python IMDb API 中的演员 ID 和电影 ID 加入演员和电影 现在 我正在尝试从演员的电影作品中提取电影 ID 列表 但无法做到 例如 我知道 Rodney Dangerfield 在
  • 如何在C++中列出Python模块的所有函数名称?

    我有一个 C 程序 我想导入一个 Python 模块并列出该模块中的所有函数名称 我该怎么做 我使用以下代码从模块中获取字典 PyDictObject pDict PyDictObject PyModule GetDict pModule
  • 大型数据集上的 Sklearn-GMM

    我有一个很大的数据集 我无法将整个数据放入内存中 我想在这个数据集上拟合 GMM 我可以用吗GMM fit sklearn mixture GMM 重复小批量数据 没有理由重复贴合 只需随机采样您认为机器可以在合理时间内计算的尽可能多的数据
  • 最小硬币找零问题——回溯

    我正在尝试用最少数量的硬币解决硬币找零问题 采用回溯法 我实际上已经完成了它 但我想添加一些选项 按其单位打印硬币数量 而不仅仅是总数 这是我下面的Python代码 def minimum coins coin list change mi
  • 获取调用者文件的绝对路径

    假设我在不同的目录中有两个文件 1 py 比如说 在C FIRST FOLDER 1 py and 2 py 比如说 在C SECOND FOLDER 2 py 文件1 py进口2 py using sys path insert 0 pa
  • issubclass() 对从不同路径导入的同一类返回 False

    目的是实现某种插件框架 其中插件是同一基类 即 A 的子类 即 B 基类使用标准导入加载 而子类使用 imp load module 从众所周知的包 即 pkg 的路径加载 pkg init py mod1 py class A mod2
  • 在Python中从日期时间中减去秒

    我有一个 int 变量 它实际上是秒 让我们调用这个秒数X 我需要得到当前日期和时间 以日期时间格式 减去的结果X秒 Example If X是 65 当前日期是2014 06 03 15 45 00 那么我需要得到结果2014 06 03
  • 为什么用字符串和时间增量转置 DataFrame 会转换数据类型?

    这种行为对我来说似乎很奇怪 id列 字符串 在转置后转换为时间戳df如果另一列是时间增量 import pandas as pd df pd DataFrame id 00115 01222 32333 val 12 14 170 df v

随机推荐

  • Django Heroku 没有名为“我的应用程序名称”的模块

    我正在尝试将我的第一个 Django 应用程序部署到 Heroku 我能够迁移数据库并创建超级用户 但现在我陷入了困境 2018 05 19 22 51 01 0000 4 INFO Listening at http 0 0 0 0 31
  • 避免在 JqGrid 工具栏中搜索特殊字符

    我已经使用 Asp Net 成功构建了 Jq GRid 它具有除 避免工具栏搜索中的 Spl 字符 之外的所有必需功能 我试图找到工具栏的 ID 但没有成功 谁能告诉我如何使用正则表达式之类的东西来拒绝输入某些 Spl 字符 例如 和其他一
  • 使用该线上的点找到垂直线

    我有一条线 P1 P2 以及该线上的一个点 中点 我可以使用什么方程找到穿过中点的直线 P1 P2 的垂直线 标有 的点未知 我不想使用角度 只想使用给出的 3 个点 P1 P2 中点 线P1 P2可以具有任何方向 角度 提前致谢 定义向量
  • 如何从另一个jar运行一个jar文件

    我有一个已使用 L4J 转换为 exe 的 jar 文件 以及 appdata 中的另一个 jar 文件 有两个文件的原因是我需要一个更新机制 我的问题 如何在桌面上运行 exe 文件 然后从中加载 appdata 中的 jar 你可以使用
  • Python获取文件名并更改并将其保存在变量中

    我正在关注需要一个最小的 Django 文件上传示例 在view py中有 newdoc Document docfile request FILES docfile newdoc save 假设我上传文件xyz csv这使得 newdoc
  • C# 中的 UTF8(引用的可打印)转换问题

    我正在从邮箱中提取法语电子邮件 并且这些电子邮件包含重音符号 我相信它使用UTF8编码 我尝试过在互联网上找到的不同 UTF8 转换方法 但均不成功 例如 在 C 中 如何将 Montr C3 A9al 转换为 Montr al 编辑 此外
  • 我的 ViewBag 无法工作有什么原因吗?

    我有以下ActionResult in a controller你可以看到我在ViewBag如果成功的话 然后在View如果它不为空 它应该输出该消息 但是 我无法显示该消息 也没有看到问题所在 HttpPost public Action
  • C# 从 gridview asp net 中的下拉列表中获取选定值

    每当网格视图中的下拉列表的值发生更改时 如何更改文本框的值 页面加载时 文本框显示所选值 但是当我更改下拉列表的选择时 文本框值不会更改 代码如下
  • 在 android level 17 (4.2.2) 之前将数据传递给 webview 中的 javascript

    我正在开发一些从 android 调用的 javascript 图表库 了解 JavascriptInterface 仅在 Android API Level 17 4 2 2 之后可用 http developer android com
  • Eclipse 查找哪些文件引用了这个 jar

    我们有很多罐子 这些罐子是多年来添加到项目中的 但它们的使用情况尚未在任何地方记录 我想找出 java 或 jsp 文件中 jar 中任何类的引用 现在 对于我们的新 jars 我们没有这个问题 因为我们使用 Maven 它可以帮助我们更好
  • Excel VBA - 应用自动过滤器并按特定颜色排序

    我有一个自动过滤的数据范围 自动过滤器是由以下 VB 代码创建的 Sub Colour filter Range A4 Select Range Selection Selection End xlToRight Select Range
  • 如何给出有空间的枚举值

    我必须创建一个包含有空格的值的枚举 public enum MyEnum My cart Selected items Bill 这是给出错误 使用连接词 如MyCart或使用下划线My Cart不是一个选择 请指导 提前致谢 From 枚
  • PyMC3 Dirichlet 过程多元高斯混合模型

    我无法让我的形状适用于狄利克雷过程高斯混合模型 我的数据observations有形状 number of samples number of dimensions 每个高斯均值应从各向同性先验中得出 每个高斯协方差应为单位矩阵 我以为我设
  • mongodb 中单个查询的多个计数

    我是 Mongo Db 的新手 希望获得有关此查询的帮助 在过去的几天里 我一直在筛选这里的帖子 撕扯着我的头发 看看是否能找到与我的查询相关的任何内容 但没有运气 我有一个结构类似于以下文档的集合 id xyz Movieid 123 M
  • 使用 leiningen 时出现 ExceptionInInitializerError

    我是一个刚开始使用 Clojure 和 Leiningen 的初学者 在尝试使用各种 lein 命令时遇到了问题 虽然 lein deps工作正常 当我尝试使用时 lein plugin install
  • 当密码包含特殊字符时,“用户访问被拒绝”[重复]

    这个问题在这里已经有答案了 我几天来一直在搜索 SO 和网络 试图解决这个问题 SO 有很多类似的问题 但它们似乎都不是我目前正在处理的同一问题 我正在尝试使用 python 连接到远程 MySQL 数据库 以使用 pandas to sq
  • 为什么Python不使用^来表示数字的平方而是使用**来表示? [关闭]

    Closed 这个问题不符合堆栈溢出指南 目前不接受答案 我见过的一些语言使用了 符号 并且它似乎没有为 Python 中的任何东西保留 这也让我感到困惑 因为 符号 非常 众所周知 Python 应该很容易使用 但使用 这有什么合乎逻辑的
  • java中的对象排序

    我想做嵌套排序 我有一个课程对象 其中有一组应用程序 应用程序具有时间和优先级等属性 现在我想首先根据优先级对它们进行排序 在优先级内我想按时间对它们进行排序 例如 给定此类 公共字段仅为了简洁起见 public class Job pub
  • 制作 X 与 Y 的图表

    我在 x 中有一些点 在 y 中有其他点 我正在尝试制作一个如图所示的图表 我希望创建的图表的点可以连接起来 在 c3 js 中 我不知道如何绘制 X 与 Y 的关系 我怎样才能实现像我的照片这样的效果 https jsfiddle net
  • pip 无法正确解决子/孙依赖关系

    我有一个模块的依赖关系树 其工作原理如下 表示依赖关系 a b c b ruamel yaml gt 0 16 5 c ruamel yaml lt 0 16 6 gt 0 12 4 我很清楚 ruamel yaml0 16 5将正确解决这