Pipreqs генерируют неправильные требуемые сети для Hydra

Я использую pipreqs для создания requirements.txt. Я начал использовать пакет Hydra (см. https://hydra.cc/ или hydra-core на PyPI). Поэтому я хотел бы, чтобы pipreqs автоматически добавлял зависимость hydra-core при запуске.

Но когда я проверил вывод pipreqs (непосредственно в requirements.txt при запуске pipreqs --force или из вывода консоли с pipreqs --print), там Hydra==2.5. Но это неверный пакет (что приводит к Hydra, пакету с высокопроизводительным фильтром Блума). Я ожидаю увидеть hydra-core==1.0.6, который является правильной версией моего пакета гидры (точнее, hydra-core).

Есть ли что-то, что я должен сделать по-другому? Или есть какие-то проблемы с pipreqs?


  • Питон 3.8.6
  • версия пипрекс: 0.4.10

person Nerxis    schedule 09.04.2021    source источник
comment
На самом деле это распространенная проблема (вы можете увидеть все путаницы в их проблемах для pipreqs). Большинство людей, похоже, вручную решают проблему. Решение, даже с точки зрения pipreqs, не простое.   -  person NationWidePants    schedule 09.04.2021


Ответы (1)


К сожалению, пакет Hydra, впервые выпущенный в 2010 г., предшествовал Hydra Framework, поэтому я не смог использовать имя hydra в качестве имени пакета pypi (отсюда hydra-core). Я даже связался с владельцем этого проекта и вежливо спросил, может ли он отказаться от этого имени. Я не удивился, когда он отказался :).

Установка hydra вместо hydra-core является довольно распространенной ошибкой для тех, кто начинает работу с Hydra.

Судя по этому проекту, у них есть механизм, помогающий указать, что package для использования при просмотре импорта, что может быть полезно. См., например, это PR. Возможно, вы захотите открыть запрос на включение, чтобы добавить гидра-ядро в их сопоставление. Учитывая, что Hydra-Core намного популярнее, чем другая гидра, я думаю, они согласятся.

person Omry Yadan    schedule 10.04.2021
comment
Спасибо, похоже вы правы. Во-первых, я создал здесь задачу (github.com/bndr/pipreqs/issues/244 ). Если решения с обновлением маппинга в pipreqs будет достаточно, позже создам PR. - person Nerxis; 12.04.2021
comment
@Nerxis: 1. Если это отвечает на ваш вопрос, примите его. 2. Пожалуйста, уточните вопрос, который вы открыли. :) - person Omry Yadan; 17.04.2021
comment
Да, я буду следить, но по какой-то причине я не получил никакого уведомления, спасибо за остаток. Что касается ответа, я приму его, когда PR сольется и все заработает, не бойтесь :-) - person Nerxis; 17.04.2021
comment
@Nerxis Если это решило вашу проблему, я бы предложил принять этот ответ. Вы должны иметь возможность самостоятельно обновить файл сопоставления с помощью рекомендаций, приведенных в этом ответе. - person NationWidePants; 21.04.2021
comment
К вашему сведению: github.com/bndr/pipreqs/pull/247 был объединен, он вероятно, потребуется некоторое время для следующего выпуска, но вы можете собрать его непосредственно из master atm. Спасибо за вашу помощь. - person Nerxis; 06.05.2021
comment
pipreqs тоже неправильно понял mysql-connector-python. Я предполагаю, что это может быть связано с аналогичной причиной. - person Qiulang; 17.06.2021