【问题标题】:Pipreqs generate incorrect requiremnets for HydraPipreqs 对 Hydra 产生了不正确的要求
【发布时间】:2021-04-09 14:00:21
【问题描述】:

我使用pipreqs 来生成requirements.txt。我开始使用 hydra 包(请参阅 PyPI 上的 https://hydra.cc/hydra-core 包)。所以我希望pipreqs 在我运行时自动添加hydra-core 依赖项。

但是,当我检查pipreqs 的输出时(在运行pipreqs --force 时直接在requirements.txt 中或使用pipreqs --print 从控制台输出中)有Hydra==2.5。但它是不正确的包(导致Hydra 是带有高性能布隆过滤器的包)。我希望看到 hydra-core==1.0.6 这是我的 hydra(hydra-core 是正确的)包的正确版本。

有什么我应该做的不同的事情吗?或者pipreqs有什么问题吗?


  • Python 3.8.6
  • pipreqs 版本:0.4.10

【问题讨论】:

  • 这是一个常见的问题,实际上(你可以在他们的“问题”中看到所有关于 pipreqs 的混淆)。大多数人似乎手动解决了这个问题。即使从 pipreqs 的角度来看,解决方案也不是一个简单的解决方案。

标签: python pip requirements.txt fb-hydra hydra-core


【解决方案1】:

不幸的是Hydra package,于 2010 年首次发布 - 早于 Hydra Framework,所以我无法使用名称 hydra 作为 pypi 包名称(因此 hydra-core)。 我什至联系了那个项目的所有者,礼貌地询问他是否可以放弃这个名字。当他拒绝时我并不感到惊讶:)。

安装hydra 而不是hydra-core 对于刚开始使用Hydra 的人来说是很常见的错误。

看看那个项目,他们确实有一个mechanism 来帮助指出在看到导入时要使用什么包,这可能会有所帮助。例如,请参阅this PR。您可能想要打开一个拉取请求以将 hydra-core 添加到他们的映射中。 鉴于 hydra-core 是 much more popular 而不是 other hydra,我认为他们会接受的。

【讨论】:

  • 谢谢,看来你是对的。首先,我在那里创建了问题 (github.com/bndr/pipreqs/issues/244)。如果在 pipreqs 中更新映射的解决方案足够了,我稍后会创建 PR。
  • @Nerxis: 1. 如果这回答了你的问题,请接受。 2.请跟进您打开的问题。 :)
  • 是的,我会跟进,但由于某种原因,我没有收到任何通知,谢谢您的剩余时间。关于答案,当 PR 合并并且一切正常时我会接受它,不要害怕:-)
  • @Nerxis 如果这解决了您的问题,我建议您接受这个答案。您应该能够使用此答案中提供的指导自己更新映射文件。
  • 仅供参考:github.com/bndr/pipreqs/pull/247 已合并,下一个版本可能需要一些时间,但您可以直接从主 atm 构建。感谢您的帮助。
猜你喜欢
  • 2021-02-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多