Как проверить версии модулей Python?
Установил модули Python construct
и statlib
с помощью setuptools
:
sudo apt-get install python-setuptools
sudo easy_install statlib
sudo easy_install construct
Как мне проверить их версии из командной строки?
5 ответ(ов)
Вы можете использовать команду 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
Лучший способ сделать это:
Для получения информации о конкретном пакете используйте:
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
В Python 3, чтобы вывести версию библиотеки Celery с использованием круглых скобок для функции print
, вы можете использовать следующий код:
>>> import celery
>>> print(celery.__version__)
3.1.14
Этот код импортирует библиотеку Celery и выводит её версию, которая в данном случае равна 3.1.14. Убедитесь, что библиотека установлена в вашей среде выполнения Python.
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', ...]
Предыдущие ответы не помогли решить мою проблему, но этот код сработал:
import sys
for name, module in sorted(sys.modules.items()):
if hasattr(module, '__version__'):
print(name, module.__version__)
Этот скрипт перебирает все загруженные модули и выводит их имена вместе с версией, если версия доступна.
Как клонировать список, чтобы он не изменялся неожиданно после присваивания?
Преобразование списка словарей в DataFrame pandas
Как отсортировать список/кортеж списков/кортежей по элементу на заданном индексе
Как отменить последнюю миграцию?
Ошибка: "'dict' объект не имеет метода 'iteritems'"