Python, pip: Как посмотреть зависимости конкретной версии модуля перед установкой
Подскажите, пожалуйста, лучший способ посмотреть список зависимостей для конкретного модуля перед установкой.
Допустим у меня есть проект на Python3.7 где есть определенный список модулей разных версий. Мне необходимо добавить модуль pdfplumber. Но мне необходимо установить такую версию, что бы существующие модули не конфликтовали и не повышались в версии.
Как мне лучше всего просмотреть список зависимостей, перед установкой ? За ранее спасибо!
Ответы (2 шт):
Вариант 1 - смотрим json через pypi.org
Делаем запрос по имени библиотеки и версии, в данном случае
https://pypi.org/pypi/pdfplumber/0.9.0/json
в Json находим параметр "requires_dist":
"requires_dist": [
"pdfminer.six (==20221105)",
"Pillow (>=9.1)",
"Wand (>=0.6.10)"
]
Вариант 2 - для Windows
Хорошим методом будет являться скачивание модуля в виде архива и просмотр файла requirements.txt. Для этого можно воспользоваться командой в powershell:
pip download pdfplumber --no-deps --no-binary=:all:
После этого откройте скачанный архив и найдите там файл requirements.txt
В моем случае внутри он выглядит так:
pdfminer.six==20221105
Pillow>=9.1
Wand>=0.6.10
UPD.0
Если убрать из команды --no-deps, то возможно скачивание сразу и зависимых библиотек, но это приведет к их установке.
UPD.1 Для скачивания архива для последующего нахождения зависимостей конкретной версии библиотеки, можно действовать так:
pip download pdfplumber==<версия> --no-deps --no-binary=:all:
Где <версия> - это версия вашей библиотеки, соответственно.
UPD.2
Для нахождения зависимостей зависимостей, откройте первый requirements.txt и повторите операцию по скачиванию файла архива библиотеки для каждой зависимости, затем откройте их собственные requirements.txt если таковые имеются.
Еще один вариант: с помощью команды pip install с ключом --dry-run
Для конкретной версии модуля укажите ее после ==:
pip install имя_модуля==версия --dry-run