Как посмотреть установленные библиотеки python

от admin

Где установлены пакеты Python

Пакет в Python можно определить как каталог, содержащий файлы Python. Эти файлы обычно представляют собой модули Python.

Please enable JavaScript

По мере роста и усложнения программы аналогичные модули помещаются в пакет, что помогает упростить управление программой и улучшить читаемость. Этот подход часто называют модульным программированием, и в его реализации помогают пакеты.

Файл __init__.py должен содержаться внутри каталога, чтобы Python считал его пакетом. Этот файл обычно содержит код инициализации пакета, но его можно оставить пустым.

В этом руководстве будут рассмотрены различные методы поиска каталогов, в которых установлены пакеты python.

Используйте команду pip для вывода списка установленных пакетов

В Python пакеты можно устанавливать как глобально, так и локально.

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

По умолчанию команда pip устанавливает пакеты глобально.

В следующем коде используется команда pip для вывода списка глобально установленных пакетов.

Хотя по умолчанию команда pip устанавливает пакеты глобально, пакеты, которые были вручную установлены локально, также можно увидеть с помощью этой команды.

В следующем коде используется команда pip для вывода списка пакетов, установленных локально.

Используйте команду conda для вывода списка локально установленных пакетов

Этот метод работает только для программистов, работающих в Anaconda IDE. Можно перечислить локально установленный пакет в среде conda . Чтобы выполнить это, нам просто нужно написать одну строку кода в приглашении Anaconda.

В следующем коде для вывода списка пакетов, установленных локально, используется conda .

Используйте команду python для вывода списка установленных пакетов

Команду python можно использовать для поиска каталогов на сайте пакета.

Пакеты глобальных сайтов

Пакеты глобального сайта перечислены в sys.path .

В следующем коде используется команда python для вывода списка глобально установленных пакетов.

Модуль site также можно использовать вместе с командой python для получения более точного и краткого списка пакетов. Этот метод использует getsitepackages() из модуля site .

Следующий код использует команду python вместе с модулем site для вывода списка глобально установленных пакетов.

Обратите внимание, что функция getsitepackages() недоступна в virtualenv.

Пакеты, установленные локально

Локальные пакеты устанавливаются в каталог пакетов сайта per-user (PEP 370).

В следующем коде используется команда python для вывода списка локально установленных пакетов.

Используйте модуль distutils.sysconfig для вывода списка установленных пакетов

Пакет distutils может использоваться для предоставления функций для установки и встраивания дополнительных модулей в установку Python. В этом случае его также можно использовать для вывода списка пакетов.

В следующем коде используется distutils.sysconfig для вывода списка глобально установленных пакетов.

Единственный недостаток заключается в том, что он указывает нам на каталог dist-packages или пакеты, автоматически устанавливаемые операционной системой.

Используйте модуль sysconfig для вывода списка установленных пакетов

В Python 3 и выше доступен модуль sysconfig для вывода списка установленных пакетов.

Модуль sysconfig не следует путать с подмодулем distutils.sysconfig , упомянутым выше. Последний — это совершенно другой модуль, и в нем отсутствует функция get_paths , которая здесь будет использоваться.

Следующий код использует модуль sysconfig для вывода списка установленных пакетов.

Здесь мы используем путь purelib , куда устанавливаются стандартные пакеты Python с помощью таких инструментов, как pip .

Vaibhhav is an IT professional who has a strong-hold in Python programming and various projects under his belt. He has an eagerness to discover new things and is a quick learner.

How do I get a list of locally installed Python modules?

How do I get a list of Python modules installed on my computer?

Mateen Ulhaq's user avatar

Léo Léopold Hertz 준영's user avatar

33 Answers 33

in a Python shell/prompt.

Solution

Do not use with pip > 10.0!

My 50 cents for getting a pip freeze -like list from a Python script:

As a (too long) one liner:

Scope

This solution applies to the system scope or to a virtual environment scope, and covers packages installed by setuptools , pip and (god forbid) easy_install .

My use case

I added the result of this call to my flask server, so when I call it with http://example.com/exampleServer/environment I get the list of packages installed on the server’s virtualenv. It makes debugging a whole lot easier.

Caveats

I have noticed a strange behaviour of this technique — when the Python interpreter is invoked in the same directory as a setup.py file, it does not list the package installed by setup.py .

Steps to reproduce:

We have behave’s setup.py in /tmp/behave :

Install the python package from the git repo

If we run the aforementioned solution from /tmp

If we run the aforementioned solution from /tmp/behave

behave==1.2.5a1 is missing from the second example, because the working directory contains behave ‘s setup.py file.

I could not find any reference to this issue in the documentation. Perhaps I shall open a bug for it.

Adam Matan's user avatar

Now, these methods I tried myself, and I got exactly what was advertised: All the modules.

Alas, really you don’t care much about the stdlib, you know what you get with a python install.

Really, I want the stuff that I installed.

What actually, surprisingly, worked just fine was:

I say «surprisingly» because the package install tool is the exact place one would expect to find this functionality, although not under the name ‘freeze’ but python packaging is so weird, that I am flabbergasted that this tool makes sense. Pip 0.8.2, Python 2.7.

chiggsy's user avatar

Since pip version 1.3, you’ve got access to:

Which seems to be syntactic sugar for «pip freeze». It will list all of the modules particular to your installation or virtualenv, along with their version numbers. Unfortunately it does not display the current version number of any module, nor does it wash your dishes or shine your shoes.

In ipython you can type » import Tab «.

In the standard Python interpreter, you can type » help(‘modules’) «.

At the command-line, you can use pydoc modules .

johnsyweb's user avatar

I just use this to see currently used modules:

which shows all modules running on your python.

For all built-in modules use:

Which is a dict containing all modules and import objects.

In normal shell just use

As of pip 10, the accepted answer will no longer work. The development team has removed access to the get_installed_distributions routine. There is an alternate function in the setuptools for doing the same thing. Here is an alternate version that works with pip 10:

Please let me know if it will or won’t work in previous versions of pip, too.

If we need to list the installed packages in the Python shell, we can use the help command as follows

Sadheesh's user avatar

Works Regardless of Pip Version

Run the following in your python editor or IPython:

Read other answers and pulled together this combo, which is quickest and easiest inside Python.

Find the specific Packages

Conveniently you can then get items from your dict easily, i.e.

Читать:
Как проинициализировать жесткий диск

Using Pip List Well

!pip list will run inside your jupyter notebook if working there, simplifying the ‘quick check’ Combine with other utilities like grep(if you have installed) pip list | grep pandas will get you your current pandas version for example

jabberwocky's user avatar

I normally use pip list to get a list of packages (with version).

This works in a virtual environment too, of course. To show what’s installed in only the virtual environment (not global packages), use pip list —local .

Here’s documentation showing all the available pip list options, with several good examples.

James's user avatar

This will help

In terminal or IPython, type:

Abdullah Akhtar's user avatar

Amit Gupta's user avatar

Very simple searching using pkgutil.iter_modules

on windows, Enter this in cmd

Léo Léopold Hertz 준영's user avatar

I ran into a custom installed python 2.7 on OS X. It required X11 to list modules installed (both using help and pydoc).

To be able to list all modules without installing X11 I ran pydoc as http-server, i.e.:

Then it’s possible to direct Safari to http://localhost:12345/ to see all modules.

This solution is primary based on modules importlib and pkgutil and work with CPython 3.4 and CPython 3.5, but has no support for the CPython 2.

Explanation

  1. sys.builtin_module_names — names all built-in modules (look my answer here)
  2. pkgutil.iter_modules() — returns an information about all available modules
  3. importlib.util.find_spec() — returns an information about importing module, if exists
  4. BuiltinImporter — an importer for built-in modules (docs)
  5. SourceFileLoader — an importer for a standard Python module (by default has extension *.py) (docs)
  6. ExtensionFileLoader — an importer for modules as shared library (written on the C or C++)

Full code

Usage

For the CPython3.5 (truncated)

For the CPython3.4 (truncated)

Warning: Adam Matan discourages this use in pip > 10.0. Also, read @sinoroc’s comment below

This was inspired by Adam Matan’s answer (the accepted one):

which then prints out a table in the form of

which lets you then easily discern which packages you installed with and without sudo .

A note aside: I’ve noticed that when I install a packet once via sudo and once without, one takes precedence so that the other one isn’t being listed (only one location is shown). I believe that only the one in the local directory is then listed. This could be improved.

Daniel F's user avatar

In case you have an anaconda python distribution installed, you could also use

in addition to solutions described above.

Aside from using pip freeze I have been installing yolk in my virtual environments.

Tomasz Jakub Rup's user avatar

  1. to get all available modules, run sys.modules
  2. to get all installed modules (read: installed by pip ), you may look at pip.get_installed_distributions()

For the second purpose, example code:

pip freeze does it all finding packages however one can simply write the following command to list all paths where python packages are.

Pavan Gupta's user avatar

There are many way to skin a cat.

The most simple way is to use the pydoc function directly from the shell with:
pydoc modules

But for more information use the tool called pip-date that also tell you the installation dates.
pip install pip-date

enter image description here

I’m comparing five methods to retrieve installed "modules", all of which I’ve seen in this thread

iter_modules help("modules") builtin_module_names pip list working_set
Includes distributions ✔️ ✔️
Includes modules (No built-in) ✔️ ✔️
Includes built-in modules ✔️ ✔️
Includes frozen ✔️ ✔️
Includes venv ✔️ ✔️ ✔️ ✔️
Includes global ✔️ ✔️ ✔️ ✔️
Includes editable installs ✔️ ✔️ ✔️ ✔️
Includes PyCharm helpers ✔️
Lowers capital letters ✔️
Time taken (665 modules total) 53.7 msec 1.03 sec 577 nsec 284 msec 36.2 usec

Summary

  • pip list and working_set are for distributions, not modules.
  • iter_modules and help("modules") are very similar, the biggest difference is that iter_modules doesn’t include built-in.
  • pip list and working_set are very similar, only difference is that working_set lowers all capital letters.
  • Built-in modules are only included by help("modules") and builtin_module_names .

Related caveats

  • Distributions, packages, and modules often have identical names making it easy to mistake one for the other.
  • importlib.util.find_spec is for modules and is case-sensitive.
  • sys.modules only lists imported modules.

Distributions

I’m saying distribution instead of package because I think it will reduce misunderstandings. A distribution/package can have multiple packages/modules inside it.

An installed distribution is not always importable by the same name. For example pip install Pillow is imported with import PIL . Sometimes a distribution even makes multiple modules importable.

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

Самый простой способ, который не требует установки каких-либо дополнительных пакетов, это использовать модуль документации Python pydoc выполнив в терминале:

Использовать pydoc или pydoc3 , зависит от версии Python для которой вы хотите получить список установленных модулей.

Для Python на Windows, эта команда выглядит так: py -m pydoc modules .

Или можно использовать функцию справки help() , находясь в интерактивной оболочке Python:

Стоит заметить, что вышеприведенные способы выведут абсолютно все модули, как поставляемые с Python, так и установленные с помощью менеджера пакетов pip .

Чтобы получить список модулей установленных через pip , необходимо выполнить в терминале команду:

Python 3: Как узнать версию библиотеки Pandas, Numpy

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

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

Пример для Numpy:

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

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

  • pip list
  • pip freeze
  • pip show pandas

pip list

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

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

Результат:

pip freeze

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

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

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

Результат:

pip show

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

Пример:

Результат:

Anaconda — conda list

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

Похожие статьи