Как посмотреть версии библиотек в python
Перейти к содержимому

Как посмотреть версии библиотек в python

  • автор:

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

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

Отслеживать
задан 26 апр 2023 в 9:45
23 4 4 бронзовых знака

Чтобы увидеть зависимости какого либо модуля перед установкой, можно попробовать использовать pip show <имя модуля>(например, pip show pdfplumber ). А чтобы увидеть зависимости всех установленных модулей, можно ввести pip freeze

26 апр 2023 в 9:49
поправляю себя, pip show работает только в случаях когда пакет уже установлен.
26 апр 2023 в 9:53
Вот в этом и вопрос. Эта команда не подходит. Есть ли способ проверить перед установкой ?
26 апр 2023 в 9:57

Можно попробовать использовать pip download для скачивания пакета напрямую и их зависимостей вместе без установки

26 апр 2023 в 9:57

1 ответ 1

Сортировка: Сброс на вариант по умолчанию

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

Как посмотреть версии библиотек в python

Запись: and-semakin/mytetra_data/master/base/15337064736e2qi364gf/text.html на raw.githubusercontent.com

Чтобы просмотреть список доступных версий модуля, нужно набрать следующую команду, например:

pip install aiopg==

Collecting aiopg==
Could not find a version that satisfies the requirement aiopg== (from versions: 0.1.0, 0.1.1, 0.1.2, 0.2.0, 0.2.1, 0.2.2, 0.2.3, 0.3.1, 0.3.2, 0.4.0, 0.4.1, 0.5
.0, 0.5.1, 0.5.2, 0.6.1, 0.7.0, 0.8.0, 0.9.0, 0.9.2, 0.10.0, 0.11.0, 0.12.0, 0.13.0, 0.13.1, 0.13.2, 0.14.0)
No matching distribution found for aiopg==

  • Закодировать файл в base64 на Python
  • Рекурсивное создание директорий в Python
  • Сортировка в Python
  • Правильно добавить год/месяц к дате в Python
  • Отформатировать дату в Python
  • Получить рабочую директорию и директорию со скриптом в Python
  • Копия объекта в Python
  • Время выполнения программы на Python
  • Конвертировать datetime.timedelta в строку
  • Парсинг даты в Python
  • Конвертировать строку (str) в булевый тип (bool) в Python
  • Получить местный часовой пояс в Python
  • Проверить, что строка соответствует регулярному выражению в Python
  • Просмотреть доступные версии модулей в PIP
  • Получить целочисленный Unix timestamp в Python
  • getter и setter в Python
  • Настроить формат вывода логов в Python
  • Получить переменную окружения в Python
  • Обновить пакет в PIP
  • Получить имя (хостнейм) машины из Python
  • Вывести стэк вызовов при возникновении исключения в Python
  • Функция eval в Python
  • Дозаписывать (append) в файл в Python
  • Препроцессинг кода в Python
  • Проверить, что программа установлена из Python
  • Настроить путь для импорта библиотек в Python
  • Получить размер терминала в символах в Python
  • Enum с дополнительными полями в Python
  • Ошибка invalid command ‘bdist_wheel’ при установке пакета через PIP
  • Получить список аргументов функции из Python
  • Сделать словарь только для чтения в Python
  • Заматчить любой символ, включая перевод строки, в регулярных выражениях на Python
  • Получить список файлов в директории через pathlib в Python
  • Вывести действительное число с округлением до нескольких символов после запятой в Python
  • Вывод в терминал текста с цветами в Python
  • Перезагрузить импортированный модуль в Python
  • Безопасно создать список/словарь/любой объект из строкового представления в Python
  • Аналог декоратора @property для методов класса в Python
  • Перехватить ошибку TimeoutError в asyncio
  • Отключить вывод логов в Python
  • Уровни логгирования в Python
  • Удалить *.pyc и __pycache__ файлы
  • Выгрузить объект в JSON в Unicode в Python
  • Конвертировать datetime в другую часовую зону в Python
  • Дополнить строку нулями в Python
  • Вычислить MD5 от строки в Python
  • Удалить знаки пунктуации из строки в Python
  • Проверить, что первая буква в строке — заглавная, в Python
  • Разбить (split) строку по нескольким разделителям в Python
  • Отсортировать версии в Python
  • Распаковать любой архив в Python
  • Получить имя текущего скрипта на Python
  • Установка pip на Python 2.6
  • Отличить печатаемый символ Unicode от непечатаемого на Python
  • Вывести версию интерпретатора Python в машиночитаемом виде
  • Найти место, куда Python устанавливает пакеты (dist-packages, site-packages)

Устаревшие версии библиотек Python

Для выяснения версии пакета можно использовать команду:

dpkg -l | grep

Решение

Ответ доступен с подключенной услугой «Техническая поддержка».

Внимание! Для авторизации используйте учетные данные Личного кабинета

Если учетная запись от новой версии личного кабинета отсутствует, просим писать на почту lk@astralinux.ru

  • Уточнить используемые версии пакетов:
    • python3 ;
    • openssl ;
    • urllib .

    Для выяснения версии пакета можно использовать команду:

    dpkg -l | grep

    Возможная причина: Устаревшие версии библиотек Python . Перейти к решению.

    Как узнать, какие библиотеки используются в проекте если нет файла requirements.txt?

    Я нашел один проект, в котором конечно, есть множество библиотек и нет файла requirements.txt, мне нужно создать этот файл, я пробовал сделать это через pip freeze, но он не видит никаких библиотек. Как можно решить эту проблему?

    • Вопрос задан более двух лет назад
    • 2090 просмотров

    Комментировать
    Решения вопроса 1

    bituke pip freeze нужно запускать на сервере где сейчас работает проект. Если вы его скачаете себе на компьютер и выполните pip freeze то разумеется ничего не получите. Если доступа к серверу нет, то действия следующие:
    1. В файле settings.py вверху есть указание на версию Django, что то вроде этого «Generated by ‘django-admin startproject’ using Django 2.2.16.» Для примера возьмем версию 2.2.16.
    2. На сайте https://pypi.org/ находим пакет Django, далее переходим в «История выпусков», находим там версию 2.2.16, дата 1 сентября 2020 года.
    3. Обходим весь код сайта и ищем там импортирование пакетов, например from celery import shared_task. Значит в проекте используется пакет celery.
    4. Идем на сайт https://pypi.org/ и находим пакет celery, далее переходим «История выпусков», и ищем последнюю версию которая была выпущена до 1 сентября 2020 года, для нас это версия 3.1 от 4 августа 2020 года.
    Шаги 3 и 4 повторяем до тех пор пока не будут установлены все зависимости.

    Ответ написан более двух лет назад
    Комментировать
    Нравится 1 Комментировать
    Ответы на вопрос 1

    Altry

    pip freeze > requirements.txt
    Вам надо указать куда фризить.

    Либо если вы нашли его на гите, возможно там есть папка venv, а в ней можно найти все установленные пакеты. Но это вряд ли.

    Ответ написан более двух лет назад
    bituke @bituke Автор вопроса

    Да не работает это. В проекте куча библиотек, я создаю виртуалку, перехожу в директорию проекта, пишу pip freeze > requirements.txt, но он не видит никаких библиотек.

    bituke @bituke Автор вопроса
    пробовал менять питон, но это не помогло.
    bituke @bituke Автор вопроса

    P.S. У меня у самого нет библиотек, которые требует этот проект, я думал, что можно их установить все просто одной командой. Но это не выходит, я так понимаю их нужно в ручную устанавливать, если нет файла requirements.txt?

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *