问题描述
我使用 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 popular 更 other hydra,我认为他们会接受的。