Как узнать версию библиотеки 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-приложения часто используют пакеты и модули, не входящие в стандартную библиотеку. Приложениям иногда нужна специфичная версия библиотеки, потому что приложение может требовать, чтобы конкретная ошибка была исправлена или приложение может быть написано, используя устаревший версию интерфейса библиотеки.
Это означает, что иногда невозможно для одной установки Python сооветствовать каждому приложению. Если приложение A требует версию 1.0 некого модуля, а приложение B требует версию 2.0, то требования конфликтуют и установка либо версии 1.0, либо 2.0 оставит одно из приложений нерабочим.
Решение этой проблемы — создать виртуальное окружение, отдельное дерево каталогов, которое содержит инсталляцию Python для конкретной версии Python, плюс ряд дополнительных пакетов.
Различные приложения могут тогда использовать различные виртуальные окружения. Для разрешения предыдущей проблемы конфликтующих требований приложение A может иметь свое собственное окружение с установленной версией 1.0, в то время как приложение B имеет другое виртуальное окружение с версией 2.0. Если приложение B требует обновить библиотеку до версии 3.0, то это не повлияет на окружение приложения A.
Создание виртуальных окружений
Модуль для создания и управления виртуальными окружениями называется venv. venv обычно устанавливает самую последнюю версию Python, которая доступна. Если у вас есть несколько версий Python на вашей системе, то вы можете выбрать конкретную версию Python, выполнив python3 или какую версию вы хотите.
Для создания виртуального окружения, решите насчет директории, где вы хотите поместить его, и запустите модуль venv как скрипт с этой директорией:
python3 -m venv tutorial-env
Это создаст директорию tutorial-env , если та еще не существует, и также создаст директории внутри ее, содержащие копию интерпретатора Python, стандартную библиотеку, и различные поддерживающие файлы.
После создания виртуального окружения, вы можете активировать его.
На Windows, выполните:
tutorial-env\Scripts\activate.bat
На Unix или MacOS, выполните:
source tutorial-env/bin/activate
(Этот скрипт написана для оболочки bash. Если вы используете csh или fish, то существуют альтернативы activate.csh и activate.fish , которые вам следует использовать вместо этого.)
Активируя виртуальное окружение вы изменяете ваше приглашение оболочки, чтобы показывать, какое виртуальное окружение вы используете, и модифицируете это окружение так, что запуск python даст ваш конкретную версию и установку Python. Например:
$ source ~/envs/tutorial-env/bin/activate (tutorial-env) $ python Python 3.5.1 (default, May 6 2016, 10:59:36) . >>> import sys >>> sys.path ['', '/usr/local/lib/python35.zip', . '~/envs/tutorial-env/lib/python3.5/site-packages'] >>>
Управляя пакетами с помощью pip
Вы можете установить, обновить и удалить пакеты, используя программу с именем pip. По умолчанию pip установит пакеты из Python Package Index, . Вы можете просмотреть Python Package Index, перейдя на него в веббраузере, или вы можете использовать ограниченную поисковую возможность pip :
(tutorial-env) $ pip search astronomy skyfield - Elegant astronomy for Python gary - Galactic astronomy and gravitational dynamics. novas - The United States Naval Observatory NOVAS astronomy library astroobs - Provides astronomy ephemeris to plan telescope observations PyAstronomy - A collection of astronomy related tools for Python. .
pip имеет ряд подкоманд: “search”, “install”, “uninstall”, “freeze” и т.д.. (см. руководство Устанавливая модули Python ради полной документации по pip .)
Вы можете установить самую последнюю версию пакета, указав имя пакета:
(tutorial-env) $ pip install novas Collecting novas Downloading novas-3.1.1.3.tar.gz (136kB) Installing collected packages: novas Running setup.py install for novas Successfully installed novas-3.1.1.3
Вы также можете установить конкретную версию пакета, указав за именем пакета == и версию пакета:
(tutorial-env) $ pip install requests==2.6.0 Collecting requests==2.6.0 Using cached requests-2.6.0-py2.py3-none-any.whl Installing collected packages: requests Successfully installed requests-2.6.0
Если вы снова запустите эту команду, pip заметит, что запрашиваемая версия уже установленена, и ничего не сделает. Вы можете поставить отличную версию пакета, чтобы получить ее, или вы можете выполнить pip install –upgrade для обновления пакета до последней версии:
(tutorial-env) $ pip install --upgrade requests Collecting requests Installing collected packages: requests Found existing installation: requests 2.6.0 Uninstalling requests-2.6.0: Successfully uninstalled requests-2.6.0 Successfully installed requests-2.7.0
pip uninstall вместе с одним или больше именами пакетов удалит пакеты из виртуального окружения.
pip show покажет информацию о конкретном пакете:
(tutorial-env) $ pip show requests --- Metadata-Version: 2.0 Name: requests Version: 2.7.0 Summary: Python HTTP for Humans. Home-page: http://python-requests.org Author: Kenneth Reitz Author-email: me@kennethreitz.com License: Apache 2.0 Location: /Users/akuchling/envs/tutorial-env/lib/python3.4/site-packages Requires:
pip list пролистает все установленные пакеты в этом виртуальном окружении:
(tutorial-env) $ pip list novas (3.1.1.3) numpy (1.9.2) pip (7.0.3) requests (2.7.0) setuptools (16.0)
pip freeze выведет похожий список установленных пакетов, но вывод использует формат, который ожидает pip install . Обычное соглашение — положить этот список в файл requirements.txt :
(tutorial-env) $ pip freeze > requirements.txt (tutorial-env) $ cat requirements.txt novas==3.1.1.3 numpy==1.9.2 requests==2.7.0
requirements.txt тогда может быть помещен в систему контроля версий и поставляться как часть приложения. Пользователи тогда могут установить все необходимые пакеты с install -r :
(tutorial-env) $ pip install -r requirements.txt Collecting novas==3.1.1.3 (from -r requirements.txt (line 1)) . Collecting numpy==1.9.2 (from -r requirements.txt (line 2)) . Collecting requests==2.7.0 (from -r requirements.txt (line 3)) . Installing collected packages: novas, numpy, requests Running setup.py install for novas Successfully installed novas-3.1.1.3 numpy-1.9.2 requests-2.7.0
pip обладает множеством других опций. Смотрите руководство Устанавливая модули Python ради полной документации по pip . Когда вы написали пакет и хотите сделать его доступным в Python Package Index, см. в руководстве Распространяя модули Python.
Содержание
- Виртуальные окружения и пакеты
- Введение
- Создание виртуальных окружений
- Управляя пакетами с помощью 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) 'Дальнейшие действия
Python, pip: Как посмотреть зависимости конкретной версии модуля перед установкой
Подскажите, пожалуйста, лучший способ посмотреть список зависимостей для конкретного модуля перед установкой. Допустим у меня есть проект на Python3.7 где есть определенный список модулей разных версий. Мне необходимо добавить модуль pdfplumber. Но мне необходимо установить такую версию, что бы существующие модули не конфликтовали и не повышались в версии. Как мне лучше всего просмотреть список зависимостей, перед установкой ? За ранее спасибо!
Отслеживать
задан 26 апр в 9:45
23 4 4 бронзовых знакаЧтобы увидеть зависимости какого либо модуля перед установкой, можно попробовать использовать pip show <имя модуля>(например, pip show pdfplumber ). А чтобы увидеть зависимости всех установленных модулей, можно ввести pip freezeимя>
26 апр в 9:49
поправляю себя, pip show работает только в случаях когда пакет уже установлен.
26 апр в 9:53
Вот в этом и вопрос. Эта команда не подходит. Есть ли способ проверить перед установкой ?
26 апр в 9:57Можно попробовать использовать pip download для скачивания пакета напрямую и их зависимостей вместе без установки
26 апр в 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.10UPD.0 Если убрать из команды —no-deps , то возможно скачивание сразу и зависимых библиотек, но это приведет к их установке.
UPD.1 Для скачивания архива для последующего нахождения зависимостей конкретной версии библиотеки, можно действовать так:
pip download pdfplumber== --no-deps --no-binary=:all:Где — это версия вашей библиотеки, соответственно.
UPD.2 Для нахождения зависимостей зависимостей, откройте первый requirements.txt и повторите операцию по скачиванию файла архива библиотеки для каждой зависимости, затем откройте их собственные requirements.txt если таковые имеются.
