web-dev-qa-db-fra.com

Obtenez les modules disponibles

Avec PHP vous avez le phpinfo() qui répertorie les modules installés et ensuite, recherchez ce qu'ils font.

Existe-t-il un moyen de voir quels packages/modules sont installés pour être importés?

54
Wizzard

Tapez help() dans l'interpréteur

puis

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 
77
ghostdog74

Si vous utilisez ipython , qui est un shell interactif amélioré Python Shell (aka " REPL "), vous pouvez taper import  (notez l'espace à la fin) suivi d'une pression sur [TAB] clé pour obtenir une liste des modules importables.

Comme indiqué dans this SO post , vous devrez réinitialiser son hachage de modules après avoir installé (certains?) De nouveaux. Vous n'avez probablement pas à vous soucier de encore.

Si vous n'utilisez pas ipython, et que vous ne l'avez pas essayé, cela peut valoir la peine d'être vérifié. C'est beaucoup mieux que le shell Python Shell, ou à peu près tout autre REPL que j'ai utilisé).

ipython Installation

Si vous utilisez linux, il y a très probablement un package ipython que vous pouvez installer via vos outils de gestion système. D'autres voudront suivre ces instructions .

Si votre itinéraire d'installation vous oblige à utiliser easy_install, vous pouvez envisager d'utiliser plutôt pip . pip est un peu plus intelligent que easy_install et assure un meilleur suivi des emplacements des fichiers. Cela est très utile si vous souhaitez désinstaller ipython.

Liste des packages

Notez que l'astuce ci-dessus répertorie uniquement les modules . Pour une liste qui inclut également les packages —qui contiennent des modules— vous pouvez faire from  + [TAB]. Une explication de la différence entre les packages et les modules peut être trouvée dans le chapitre Modules de l'utile officiel Python .

#rtfm

Comme note supplémentaire, si vous êtes très nouveau sur python, votre temps peut être mieux dépensé en parcourant documentation de bibliothèque standard qu'en sélectionnant simplement les modules en fonction de leur nom. La documentation de base de Python est bien écrite et bien organisée. Les groupes organisationnels — accès aux fichiers et aux répertoires , types de données , etc. — utilisés dans la table des matières de la documentation de la bibliothèque ne sont pas facilement apparents à partir des noms des modules/packages et sont pas vraiment utilisé ailleurs, mais sert d'aide précieuse à l'apprentissage.

12
intuited

C'était très utile. Voici une version script de ceci:

# 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', '')
6
Rajat Sewal

Vous pouvez lister les modules disponibles comme ceci:

python -c "for dist in __import__('pkg_resources').working_set:print dist.project_name.replace('Python', '')"
4
rann

Comme l'a dit aaronasterling, tous les fichiers .py ou .pyc sur sys.path sont un module car ils peuvent être importés. Il existe des scripts qui vous permettent de trouver quel module externe est installé dans les packages de site.

Yolk est un Python pour obtenir des informations sur les packages installés par setuptools, easy_install et distutils et il peut également interroger les packages pypi.

2
pyfunc