Pipreqs 为 Hydra 生成不正确的需求

问题描述

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

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

有什么我应该做的不同吗?还是 hydra-core 有问题?


  • Python 3.8.6
  • pipreqs 版本:0.4.10

解决方法

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

安装 hydra 而不是 hydra-core 是人们开始使用 Hydra 时很常见的错误。

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