11

Как проверить версии модулей Python?

7

Установил модули Python construct и statlib с помощью setuptools:

sudo apt-get install python-setuptools

sudo easy_install statlib
sudo easy_install construct

Как мне проверить их версии из командной строки?

5 ответ(ов)

1

Вы можете использовать команду pip show YOUR_PACKAGE_NAME, чтобы получить полную информацию о пакете, включая его версию. Эта команда также работает в Windows.

В Linux вы можете использовать grep Version, чтобы отфильтровать информацию и вывести только версию пакета. Ваш полный командный пример будет выглядеть так:

# Чтобы получить версию пакета, выполните следующую команду
pip show YOUR_PACKAGE_NAME | grep Version

Если вы используете Windows, то вместо grep вы можете воспользоваться следующей командой:

pip show YOUR_PACKAGE_NAME | findstr Version
1

Лучший способ сделать это:

Для получения информации о конкретном пакете используйте:

pip show <имя_пакета>

Это выведет информацию о пакете: имя, версию, автора, расположение и т.д.


$ pip show numpy

Имя: numpy
Версия: 1.13.3
Описание: NumPy: обработка массивов для чисел, строк, записей и объектов.
Домашняя страница: http://www.numpy.org
Автор: Разработчики NumPy
Email автора: [email protected]
Лицензия: BSD
Расположение: c:\users\prowinjvm\appdata\local\programs\python\python36\lib\site-packages
Требует:

Для получения дополнительной информации: >>> pip help


Не забудьте обновить pip, чтобы использовать эти функции.

pip install --upgrade pip

На Windows рекомендуется использовать следующую команду:

python -m pip install --upgrade pip
0

В Python 3, чтобы вывести версию библиотеки Celery с использованием круглых скобок для функции print, вы можете использовать следующий код:

>>> import celery
>>> print(celery.__version__)
3.1.14

Этот код импортирует библиотеку Celery и выводит её версию, которая в данном случае равна 3.1.14. Убедитесь, что библиотека установлена в вашей среде выполнения Python.

0

module.__version__ — это хороший первый шаг, который стоит попробовать, однако он работает не всегда.

Если вы не хотите использовать командную строку, и у вас pip версии 8 или 9, вы можете использовать pip.get_installed_distributions() для получения версий пакетов из Python:

Данное решение работает в pip 8 и 9, но в pip 10 функция была перемещена из pip.get_installed_distributions в pip._internal.utils.misc.get_installed_distributions, чтобы явно указать, что это не для внешнего использования. Не рекомендуется полагаться на эту функцию, если вы используете pip версии 10 и выше.

import pip

pip.get_installed_distributions()  # -> [distribute 0.6.16 (...), ...]

[
    pkg.key + ': ' + pkg.version
    for pkg in pip.get_installed_distributions()
    if pkg.key in ['setuptools', 'statlib', 'construct']
] # -> аккуратно отфильтрованный список ['setuptools: 3.3', ...]
0

Предыдущие ответы не помогли решить мою проблему, но этот код сработал:

import sys 
for name, module in sorted(sys.modules.items()): 
  if hasattr(module, '__version__'): 
    print(name, module.__version__) 

Этот скрипт перебирает все загруженные модули и выводит их имена вместе с версией, если версия доступна.

Чтобы ответить на вопрос, пожалуйста, войдите или зарегистрируйтесь