Получить доступные модули
С PHP у вас есть phpinfo()
, в котором перечислены установленные модули, а затем оттуда посмотрите, что они делают.
Есть ли способ увидеть, какие пакеты/модули установлены для импорта?
Ответы
Ответ 1
Введите help()
в интерпретаторе
то
To get a list of available modules, keywords, or topics, type "modules",
"keywords", or "topics". Each module also comes with a one-line summary
of what it does; to list the modules whose summaries contain a given word
such as "spam", type "modules spam".
help> modules
Ответ 2
Если вы используете ipython
, это улучшенная интерактивная оболочка Python (иначе REPL "), вы можете ввести import
(обратите внимание на пробел в конце), а затем нажмите клавишу [TAB]
, чтобы получить список импортируемых модулей.
Как указано в этой записи SO, вам придется reset хешировать модули после установки (определенных?) новых. Вероятно, вам не нужно беспокоиться об этом.
Если вы не используете ipython
, и вы его не пробовали, возможно, стоит проверить. Это намного лучше, чем базовая оболочка Python или почти любой другой REPL, который я использовал.
ipython
Установка
Если вы используете linux, скорее всего, пакет ipython
, который вы можете установить с помощью инструментов управления системой. Другие захотят следовать этим инструкциям.
Если ваш маршрут установки требует использования easy_install
, вы можете вместо этого использовать pip
. pip
немного умнее, чем easy_install
, и делает лучшую работу по отслеживанию местоположений файлов. Это очень полезно, если вы хотите удалить ipython
.
Листинг пакетов
Обратите внимание, что в приведенном выше совете перечислены только модули. Для списка, который также включает пакеты, содержащие модули, вы можете сделать from
+ [TAB]
. Объяснение разницы между пакетами и модулями можно найти в разделе "Модули" полезного официальный учебник Python.
#rtfm
В качестве добавленного примечания, если вы очень новичок в python, ваше время может быть лучше потрачено на просмотр стандартной документации по , чем просто выбор модулей на основе их имени. Документация ядра Python хорошо написана и хорошо организована. Организационные группы - Доступ к файлам и каталогам, Типы данных и т.д., используемые в документации по документации библиотеки, не всегда очевидны из названий модулей/пакетов и на самом деле не используются в других местах, но служат ценным учебным пособием.
Ответ 3
Как говорит aaronasterling, все файлы .py или .pyc на sys.path являются модулем, потому что его можно импортировать. Существуют сценарии, которые могут позволить вам найти, какой внешний модуль установлен в пакетах сайта.
Yolk - это инструмент командной строки Python и библиотека для получения информации о пакетах, установленных setuptools, easy_install и distutils, а также может запрашивать пакеты pypi.
Ответ 4
Вы можете перечислить доступные модули следующим образом:
python -c "for dist in __import__('pkg_resources').working_set:print dist.project_name.replace('Python', '')"
Ответ 5
Это было очень полезно. Вот версия script этого:
# To list all installed packages just execfile THIS file
# execfile('list_all_pkgs.py')
for dist in __import__('pkg_resources').working_set:
print dist.project_name.replace('Python', '')