Quel est un moyen facile de trouver tous les modules python d'un paquet particulier qui sont utilisés dans une application?Trouver quels modules python sont importés
Répondre
sys.modules
est un nom de module de mappage de dictionnaire aux modules. Vous pouvez examiner ses clés pour voir les modules importés.
Vous pouvez utiliser python -v
, qui émettent des messages sur chaque module importé:
$ echo 'print "hello world"' > helo.py
$ python -v helo.py
# installing zipimport hook
import zipimport # builtin
# installed zipimport hook
# /System/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site.pyc matches /System/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site.py
import site # precompiled from /System/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site.pyc
# /System/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/os.pyc matches /System/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/os.py
import os # precompiled from /System/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/os.pyc
import posix # builtin
# /System/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/posixpath.pyc matches /System/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/posixpath.py
import posixpath # precompiled from /System/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/posixpath.pyc
... et ainsi de suite, et ainsi de suite. Bien sûr, vous pouvez ensuite grep
les modules d'intérêt parmi cette grande liste -)
je pense modulefinder est ce que vous cherchez. Vous pouvez utiliser modulefinder.py
directement, en l'exécutant comme un script comme il est décrit ici, ou vous pouvez import the module and then create a report en utilisant la classe modulefinder.ModuleFinder
.
Il ne fournit pas autant d'informations que la réponse de @Alex Martelli. – user183037
Une méthode très simple consiste à supprimer tous les fichiers .pyc du package ou du dossier, puis à exécuter l'application. Une fois que vous avez joué un peu, faites une liste de répertoires et voyez quels fichiers ont des fichiers .pyc maintenant. Ce sont des modules qui ont été importés par l'application. (Note: le module __main__
, celui que vous appelez le script "principal", n'est jamais compilé, donc vous ne devriez pas vous attendre à voir un fichier .pyc à moins que quelque chose ne l'ait importé depuis l'application. souvent un signe d'un problème si cela arrive.)
- 1. Python: quels modules ont été importés dans mon processus?
- 2. Mocking modules importés en Python
- 3. Quels modules Apache sont requis?
- 4. Python optimise-t-il les modules lorsqu'ils sont importés plusieurs fois?
- 5. Quels modules python sont disponibles pour aider à la démonisation dans la bibliothèque standard?
- 6. Où sont stockés les modules python?
- 7. Garder les modules importés hors des espaces de noms de paquets python
- 8. Quels modules Perl sont bons pour la fusion de données?
- 9. Quels modules de classification de texte Python Bayesian sont similaires à dbacl?
- 10. Python: Quels modules pour un site de discussion?
- 11. Vérification des modifications de code dans tous les modules python importés
- 12. Les contrôles ActiveX importés sont non visuels
- 13. De quels modules dépend mod_rewrite?
- 14. Maintenant que Python 2.6 est sorti, quels modules sont actuellement dans la langue, chaque programmeur devrait-il être au courant?
- 15. Trouver quels hotspots WiFi sont publics ou sécurisés par programmation
- 16. modules Python Erreur d'importation
- 17. Supprimer des modules python?
- 18. Quels modules Java obtiennent Spring Security
- 19. Py2App Impossible de trouver les modules standard
- 20. Quels serveurs Web HTTP/1.1 Python sont disponibles?
- 21. bibliothèques Compilé Haskell avec les importations IFF ne sont pas valides lorsqu'ils sont importés dans GHCi
- 22. python: liste les modules dans le paquet
- 23. Quels sont les bons exemples de bibliothèques Pythonic?
- 24. éléments sont importés même sans importer l'espace de noms
- 25. quels événements sont liés?
- 26. Quels sont les attributs?
- 27. Quels sont vos modèles personnels?
- 28. Quels sont les bons modules Perl pour la programmation basée sur les flux sur les fichiers?
- 29. Quels modules Moose rend-il inutile, ou sont-ils incompatibles avec le Perl moderne?
- 30. Quels sont les bons moyens d'écrire une application PHP avec support de modules?
bien c'était facile! –
Vous avez oublié la référence: http://docs.python.org/library/sys.html#sys.modules –
Je ne suis pas sûr des détails quant à pourquoi mais cela ne contient pas réellement ** TOUS ** les paquets disponibles. J'essayais d'identifier où python importait 'multiprocessing' qui ne figurait pas dans la liste. En utilisant 'python -v', avec le drapeau verbose travaillé. –