Перейти к содержимому

Как посмотреть версию библиотеки 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 3: Как узнать версию библиотеки Pandas, Numpy

Вариант 1. Узнаем версию библиотеки в скрипте Python

Для того, чтобы узнать версию библиотеки, необходимо вбить следующую команду (например для Pandas):

import pandas as pd print (pd.__version__)

Пример для Numpy:

import numpy as np print (np.__version__)

Вариант 2. Проверить с помощью pip менеджера пакетов

С помощью менеджера пакетов pip можно проверить версию установленных библиотек, для этого используются команды:

  • pip list
  • pip freeze
  • pip show pandas

pip list

Выведет список установленных пакетов, включая редактируемые.

Пишем в консоли команду:

pip list

Результат:

pip freeze

Выводит установленные пакеты, которые ВЫ установили с помощью команды pip (или pipenv при ее использовании) в формате требований.

Вы можете запустить: pip freeze > requirements.txt на одной машине, а затем на другой машине (в чистой среде) произвести инсталляцию пакетов: pip install -r requirements.txt .

Таким образом вы получите идентичную среду с точно такими же установленными зависимостями, как и в исходной среде, в которой вы сгенерировал файл requirements.txt.

Результат:

pip show

Выводит информацию об одном или нескольких установленных пакетах.

Пример:

pip show pandas

Результат:

Anaconda — conda list

Если вы используете Anaconda, то вы можете проверить список установленных пакетов в активной среде с помощью команды conda list .

Как узнать версию установленного пакета в Python с помощью pip

При работе с Python часто возникает необходимость использования различных сторонних пакетов. Это могут быть библиотеки для анализа данных, машинного обучения, работы с веб-серверами и многие другие. Иногда бывает важно знать, какую именно версию пакета вы используете. Например, в некоторых случаях функционал пакета может меняться от версии к версии.

Инструмент для установки пакетов в Python называется pip. Он позволяет устанавливать, обновлять и удалять пакеты. Но кроме этого, с его помощью можно узнать версию установленного пакета.

Допустим, есть пакет с названием XYZ. Чтобы узнать его версию, можно воспользоваться командой pip show XYZ в командной строке. В выводе этой команды будет строка Version , которая и показывает версию пакета.

pip show XYZ 

Вывод будет примерно таким:

Name: XYZ Version: 1.0.0 Summary: XYZ is a sample package Home-page: https://example.com Author: Example Author Author-email: author@example.com License: MIT Location: /usr/local/lib/python3.7/site-packages Requires: Required-by: 

В данном примере версия пакета XYZ — 1.0.0.

Таким образом, с помощью pip можно легко и просто узнавать версии установленных пакетов, что помогает контролировать их актуальность и совместимость с другими пакетами.

Получение сведений о пакете Python

В этой статье описывается, как получить сведения об установленных пакетах Python, включая версии и расположения установки, в Службах машинного обучения SQL Server и кластерах больших данных. Примеры сценариев Python показывают, как получить сведения о пакете, например путь установки и версия.

В этой статье описывается, как получить сведения об установленных пакетах Python, включая версии и расположения установки, в Службах машинного обучения SQL Server. Примеры сценариев Python показывают, как получить сведения о пакете, например путь установки и версия.

В этой статье описывается, как получить сведения об установленных пакетах Python, включая версии и расположения установки, в Службах машинного обучения управляемого экземпляра SQL Azure. Примеры сценариев Python показывают, как получить сведения о пакете, например путь установки и версия.

Расположение библиотеки Python по умолчанию

При установке машинного обучения с помощью SQL Server на уровне экземпляра создается отдельная библиотека пакетов для каждого устанавливаемого языка. Библиотека экземпляров является защищенной папкой, зарегистрированной в SQL Server.

Все скрипты или код, выполняемые в базе данных на SQL Server, должны загружать функции из библиотеки экземпляров. SQL Server не может получить доступ к пакетам, установленным в других библиотеках. Это относится и к удаленным клиентам: любой код Python, выполняющийся в контексте вычислений сервера, может использовать только пакеты, установленные в библиотеке экземпляров. Для защиты серверных ресурсов библиотека экземпляров по умолчанию может быть изменена только администратором компьютера.

Путь по умолчанию к двоичным файлам для Python:

C:\Program Files\Microsoft SQL Server\MSSQL14.MSSQLSERVER\PYTHON_SERVICES

Предполагается, что экземпляр SQL по умолчанию — MSSQLSERVER. Если SQL Server устанавливается как определяемый пользователем именованный экземпляр, вместо него используется указанное имя.

Путь по умолчанию к двоичным файлам для Python:

C:\Program Files\Microsoft SQL Server\MSSQL15.MSSQLSERVER\PYTHON_SERVICES

Предполагается, что экземпляр SQL по умолчанию — MSSQLSERVER. Если SQL Server устанавливается как определяемый пользователем именованный экземпляр, вместо него используется указанное имя.

Включите внешние скрипты, выполнив следующие команды SQL:

sp_configure 'external scripts enabled', 1; RECONFIGURE WITH override; 

В Управляемом экземпляре SQL Azure выполнение команд sp_configure и RECONFIGURE приводит к перезагрузке сервера SQL для активации параметров RG. В результате сервер будет недоступен в течение нескольких секунд.

Выполните приведенную ниже инструкцию SQL, чтобы проверить библиотеку по умолчанию для текущего экземпляра. Этот пример возвращает список папок, включенных в переменную sys.path Python. Список содержит текущий каталог и путь к стандартной библиотеке.

EXECUTE sp_execute_external_script @language =N'Python', @script=N'import sys; print("\n".join(sys.path))' 

Дополнительные сведения о переменной sys.path и о том, как она используется для задания пути поиска для модулей, см. в разделе Путь поиска модуля.

Не пытайтесь установить пакеты Python непосредственно в библиотеке пакетов SQL с помощью pip или аналогичных методов. Вместо этого используйте sqlmlutils для установки пакетов в экземпляре SQL. Дополнительные сведения см. в статье Установка пакетов Python с помощью sqlmlutils.

Пакеты Microsoft Python по умолчанию

Приведенные ниже пакеты Python устанавливаются вместе со Службами машинного обучения SQL Server, если во время установки выбран компонент Python.

Пакеты Версия Описание
revoscalepy 9.4.7 Используется для удаленных контекстов вычислений, потоковой передачи, параллельного выполнения функций rx для импорта и преобразования, моделирования, визуализации и анализа данных.
microsoftml 9.4.7 Добавляет алгоритмы машинного обучения в Python.

Сведения о том, какая версия Python включена, приведены в разделе Версии Python и R.

Обновление компонентов

По умолчанию пакеты Python обновляются с помощью пакетов обновления и накопительных пакетов обновления. Дополнительные пакеты и обновления полных версий основных компонентов Python возможны только при обновлении продукта.

Пакеты Python с открытым кодом по умолчанию

При выборе языка Python во время установки устанавливается дистрибутив Anaconda 4.2 (через Python 3.5). В дополнение к библиотекам кода Python стандартная установка включает примеры данных, модульные тесты и примеры сценариев.

Никогда не следует вручную перезаписывать версию Python, установленную программой установки SQL Server, более новыми версиями в Интернете. Пакеты Microsoft Python основаны на конкретных версиях Anaconda. Изменение установки может привести к дестабилизации.

Просмотр всех установленных пакетов Python

Приведенный ниже пример сценария отображает список всех пакетов Python, установленных в экземпляре SQL Server.

EXECUTE sp_execute_external_script @language = N'Python', @script = N' import pkg_resources import pandas OutputDataSet = pandas.DataFrame(sorted([(i.key, i.version) for i in pkg_resources.working_set]))' WITH result sets((Package NVARCHAR(128), Version NVARCHAR(128))); 

Поиск одного пакета Python

Если вы установили пакет Python и хотите убедиться, что он доступен для конкретного экземпляра SQL Server, можно выполнить хранимую процедуру, которая ищет этот пакет и отображает соответствующие сообщения.

Например, следующий код ищет пакет scikit-learn . Если пакет найден, код выводит версию пакета.

EXECUTE sp_execute_external_script @language = N'Python', @script = N' import pkg_resources pkg_name = "scikit-learn" try: version = pkg_resources.get_distribution(pkg_name).version print("Package " + pkg_name + " is version " + version) except: print("Package " + pkg_name + " not found") ' 
STDOUT message(s) from external script: Package scikit-learn is version 0.20.2 

Просмотр версии Python

Следующий пример кода возвращает версию Python, установленную в экземпляре SQL Server.

EXECUTE sp_execute_external_script @language = N'Python', @script = N' import sys print(sys.version) ' 

Дальнейшие действия

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

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