Python, pip: Как посмотреть зависимости конкретной версии модуля перед установкой

Рейтинг: 2Ответов: 2Опубликовано: 26.04.2023

Подскажите, пожалуйста, лучший способ посмотреть список зависимостей для конкретного модуля перед установкой.

Допустим у меня есть проект на Python3.7 где есть определенный список модулей разных версий. Мне необходимо добавить модуль pdfplumber. Но мне необходимо установить такую версию, что бы существующие модули не конфликтовали и не повышались в версии.

Как мне лучше всего просмотреть список зависимостей, перед установкой ? За ранее спасибо!

Ответы

▲ 6Принят

Вариант 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 если таковые имеются.

▲ 0

Еще один вариант: с помощью команды pip install с ключом --dry-run

Для конкретной версии модуля укажите ее после ==:

pip install имя_модуля==версия --dry-run