Как посмотреть версию библиотеки python
Как проверить версию Python
How to Check Python Version
В этом руководстве объясняется, как проверить, какая версия Python установлена в вашей операционной системе с помощью командной строки. Это может быть полезно при установке приложений, которым требуется определенная версия Python.
Мы также покажем вам, как программно определить, какая версия Python установлена в системе, где выполняется скрипт Python. Например, при написании сценариев Python вам необходимо определить, поддерживает ли сценарий версию Python, установленную на компьютере пользователя.
Версии Python
Готовые к выпуску версии Python имеют следующую версию:
Например, в Python 3.6.8 3 это основная версия, 1 дополнительная версия и 2 микро версия.
Проверка версии Python
Python предустановлен в большинстве дистрибутивов Linux и macOS.
Вы можете проверить, установлен ли Python 3, набрав:
Если вы хотите установить последнюю версию Python, процедура зависит от операционной системы, которую вы используете.
Программная проверка версии Python
Python 2 и Python 3 принципиально разные. Код, написанный на Python 2.x, может не работать в Python 3.x.
Допустим, у вас есть скрипт, который требует как минимум Python версии 3.5, и вы хотите проверить, соответствует ли система требованиям. Вы можете сделать это, просто проверив major и minor версии:
Если вы запустите скрипт, используя версию Python менее 3.5, он выдаст следующий вывод:
Чтобы написать код Python, который работает под Python 3 и 2, используйте future модуль. Это позволяет запускать Python 3.x-совместимый код под Python 2.
Вывод
Python 3: Как узнать версию библиотеки Pandas, Numpy
Вариант 1. Узнаем версию библиотеки в скрипте Python
Для того, чтобы узнать версию библиотеки, необходимо вбить следующую команду (например для Pandas):
Пример для Numpy:
Вариант 2. Проверить с помощью pip менеджера пакетов
С помощью менеджера пакетов pip можно проверить версию установленных библиотек, для этого используются команды:
pip list
Выведет список установленных пакетов, включая редактируемые.
Пишем в консоли команду:
Результат:
pip freeze
Выводит установленные пакеты, которые ВЫ установили с помощью команды pip (или pipenv при ее использовании) в формате требований.
Таким образом вы получите идентичную среду с точно такими же установленными зависимостями, как и в исходной среде, в которой вы сгенерировал файл requirements.txt.
Результат:
pip show
Выводит информацию об одном или нескольких установленных пакетах.
Пример:
Результат:
Anaconda — conda list
Как проверить версию модулей Python?
В большинстве систем Linux вы можете передать это grep (или findstr в Windows), чтобы найти строку для конкретного пакета, который вас интересует:
Ты можешь попробовать
Используйте pkg_resources модуль, распространяемый вместе с setuptools библиотекой. Обратите внимание, что строка, которую вы передаете get_distribution методу, должна соответствовать записи PyPI.
и если вы хотите запустить его из командной строки, вы можете сделать:
Обратите внимание, что строка, передаваемая get_distribution методу, должна быть именем пакета, зарегистрированным в PyPI, а не именем модуля, который вы пытаетесь импортировать.
Я думаю, что это может помочь, но сначала установите show пакет, чтобы запустить, а pip show затем используйте шоу, чтобы найти версию!
Лучший способ сделать это:
Для деталей конкретного пакета
Это детализирует имя_пакета, версию, автора, местоположение и т. Д.
Больше подробностей: >>> pip help
pip должен быть обновлен, чтобы сделать это.
В Windows рекомендуем команду:
В python3 со скобками вокруг печати
module.__version__ это хорошая первая вещь, чтобы попробовать, но это не всегда работает.
Если вы не хотите раскошелиться, и вы используете pip 8 или 9, вы все равно можете использовать pip.get_installed_distributions() для получения версий из Python:
обновление: решение здесь работает в пипсах 8 и 9, но в пипсе 10 функция была перемещена из pip.get_installed_distributions в pip._internal.utils.misc.get_installed_distributions в явное указание, что она не для внешнего использования. Не стоит полагаться на это, если вы используете pip 10+.
Предыдущие ответы не решили мою проблему, но этот код сделал:
Вы можете использовать importlib_metadata библиотеку для этого.
Начиная с python 3.8 он включен в стандартную библиотеку.
Затем, чтобы проверить версию пакета (в этом примере lxml ), запустите:
Имейте в виду, что это работает только для пакетов, установленных из PyPI. Кроме того, вы должны передать имя пакета в качестве аргумента version методу, а не имя модуля, которое предоставляет этот пакет (хотя обычно они совпадают).
Используйте, dir() чтобы узнать, имеет ли модуль __version__ атрибут вообще.
Если вышеперечисленные методы не работают, стоит попробовать в python следующее:
затем напечатайте название версии
Это определенно будет работать
Предполагая, что мы используем Jupyter Notebook (если вы используете терминал, отбросьте восклицательные знаки):
1) если пакет (например, xgboost) был установлен с помощью pip :
2) если пакет (например, caffe) был установлен с помощью conda :
Некоторые модули не имеют __version__ атрибутов, поэтому проще всего проверить в терминале: pip list
Вот пример из документации:
Я предлагаю открыть python оболочку в терминале (в интересующей вас версии python), импортировать библиотеку и получить ее __version__ атрибут.
Это работает и в Jupyter Notebook на Windows! Пока Jupyter запускается из командной строки, совместимой с bash, такой как Git Bash (MingW64), решения, приведенные во многих ответах, могут использоваться в Jupyter Notebook в системах Windows с одним небольшим изменением.
Я использую Windows 10 Pro с Python, установленным через Anaconda, и следующий код работает, когда я запускаю Jupyter через Git Bash (но не при запуске из приглашения Anaconda).
Вывод будет выглядеть так:
Смотрите документацию для деталей.
Чтобы получить список нестандартных (pip) модулей, импортированных в текущий модуль:
Этот код был составлен из решений как на этой странице, так и из Как вывести список импортированных модулей?
(Он предоставит все библиотеки вместе с информацией о версии).
(Это дает полную информацию о библиотеке).
Вы можете попробовать это:
Это выведет все пакеты с их версиями. Вывод
Опираясь на ответ Якуба Кукула, я нашел более надежный способ решения этой проблемы.
Мы можем перебрать этот генератор так:
Это вернет словарь с модулями в качестве ключей и их версией в качестве значения. Этот подход может быть расширен гораздо больше, чем номер версии.
Спасибо Якубу Кукулу за указание в правильном направлении
Написание этого ответа для пользователей Windows. Как предлагается во всех других ответах, вы можете использовать эти утверждения как:
Но есть некоторые модули, которые не печатают свою версию даже после использования описанного выше метода. Итак, что вы можете просто сделать:
Как вывести список всех установленных пакетов и их версий в Python?
Есть ли способ в Python перечислить все установленные пакеты и их версии?
8 ответов
Если у вас есть pip install и вы хотите увидеть, какие пакеты были установлены с вашими инструментами установки, вы можете просто вызвать это:
Он также будет включать номера версий для установленных пакетов.
Обновить
Примечание
Вот способ сделать это, используя PYTHONPATH вместо абсолютного пути вашей библиотеки libs dir:
Если вы хотите получить информацию об установленных дистрибутивах Python и не хотите использовать для этого консоль или терминал cmd, а использовать код Python, вы можете использовать следующий код (протестирован с Python 3.4):
Вызов функции pip.get_installed_distributions(local_only=True) возвращает итерацию, а из-за цикла for и функции print элементы, содержащиеся в итерации, выводятся через символы новой строки ( \n ). Результат будет (в зависимости от установленных дистрибутивов) выглядеть примерно так:
Если это необходимо для запуска из Python, вы можете просто вызвать подпроцесс
Для запуска этого в более поздних версиях pip (протестировано на pip==10.0.1 ) используйте следующее:
Да! вы должны использовать pip в качестве менеджера пакетов python ( http://pypi.python.org/pypi/pip )
С установленными пакетами pip, вы можете сделать
И он перечислит все установленные пакеты. Возможно, вам также следует использовать virtualenv и virtualenvwrapper. Когда вы начинаете новый проект, вы можете сделать
А затем (внутри этого virtualenv) сделать
Или если у вас есть пакет Python с файлом require.pip,
Вы можете попробовать: желток
Для установки желток попробуйте:
Вы можете увидеть, какие пакеты активны, неактивны или находятся в режиме разработки, и показать, какие более новые версии доступны, запрашивая PyPI.
How to check version of python modules?
I just installed the python modules: construct and statlib with setuptools like this:
29 Answers 29
I suggest using pip in place of easy_install. With pip, you can list all installed packages and their versions with
In most linux systems, you can pipe this to grep (or findstr on Windows) to find the row for the particular package you’re interested in:
For an individual module, you can try the __version__ attribute, however there are modules without it:
Update: This is the approach recommended by PEP 396. But that PEP was never accepted and has been deferred. In fact, there appears to be increasing support amongst Python core developers to recommend not including a __version__ attribute, e.g. in https://gitlab.com/python-devs/importlib_metadata/-/merge_requests/125.
Python >= 3.8:
If you’re on python >=3.8 you can use a module from the built-in library for that. To check a package’s version (in this example construct ) run:
Python pkg_resources module distributed with setuptools library. Note that the string that you pass to get_distribution method should correspond to the PyPI entry.
Side notes:
If you want to apply this solution from the command line you can do somthing like:
Use pip show to find the version!
The Better way to do that is:
For the details of specific Package
It details out the Package_name, Version, Author, Location etc.
For more Details: >>> pip help
pip should be updated to do this.
On Windows recommend command is:
In python3 with brackets around print
module.__version__ is a good first thing to try, but it doesn’t always work.
If you don’t want to shell out, and you’re using pip 8 or 9, you can still use pip.get_installed_distributions() to get versions from within Python:
update: the solution here works in pip 8 and 9, but in pip 10 the function has been moved from pip.get_installed_distributions to pip._internal.utils.misc.get_installed_distributions to explicitly indicate that it’s not for external use. It’s not a good idea to rely on it if you’re using pip 10+.
The previous answers did not solve my problem, but this code did:
Use dir() to find out if the module has a __version__ attribute at all.
In Python 3.8 version there is a new metadata module in importlib package, which can do that as well.
Here is an example from docs:
If the above methods do not work, it is worth trying the following in python:
This will output all the packages with their versions. Output
first add python, pip to your environment variables. so that you can execute your commands from command prompt. then simply give python command. then import the package
then print the version name
This will definitely work
.__version_ worked. Thanks for posting.
Assuming we are using Jupyter Notebook (if using Terminal, drop the exclamation marks):
1) if the package (e.g. xgboost) was installed with pip:
2) if the package (e.g. caffe) was installed with conda:
Some modules don’t have __version__ attribute, so the easiest way is check in the terminal: pip list
I suggest opening a python shell in terminal (in the python version you are interested), importing the library, and getting its __version__ attribute.
Note 2: We avoid using the print function, because its behavior depends on python2 or python3. We do not need it, the terminal will show the value of the expression.
Writing this answer for windows users. As suggested in all other answers, you can use the statements as:
But, there are some modules which don’t print their version even after using the method above. So, what you can simply do is: