How do i search for a specific module in python?
Source code: Lib/modulefinder.py Show This module provides a modulefinder. AddPackagePath (pkg_name, path)¶Record that the package named pkg_name can be found in the specified path. modulefinder. ReplacePackage (oldname, newname)¶Allows specifying that the module named oldname is in fact the package named newname. classmodulefinder. ModuleFinder (path=None, debug=0, excludes=[], replace_paths=[])¶
This class provides report ()¶Print a report to standard output that lists the modules imported by the script and their paths, as well as modules that are missing or seem to be missing. run_script (pathname)¶Analyze the contents of the pathname file, which must contain Python code. modules ¶A dictionary mapping module names to modules. See Example usage of ModuleFinder. Example usage of ModuleFinder¶The script that is going to get analyzed later on (bacon.py): import re, itertools try: import baconhameggs except ImportError: pass try: import guido.python.ham except ImportError: pass The script that will output the report of bacon.py: from modulefinder import ModuleFinder finder = ModuleFinder() finder.run_script('bacon.py') print('Loaded modules:') for name, mod in finder.modules.items(): print('%s: ' % name, end='') print(','.join(list(mod.globalnames.keys())[:3])) print('-'*50) print('Modules not imported:') print('\n'.join(finder.badmodules.keys())) Sample output (may vary depending on the architecture): Loaded modules: _types: copyreg: _inverted_registry,_slotnames,__all__ sre_compile: isstring,_sre,_optimize_unicode _sre: sre_constants: REPEAT_ONE,makedict,AT_END_LINE sys: re: __module__,finditer,_expand itertools: __main__: re,itertools,baconhameggs sre_parse: _PATTERNENDERS,SRE_FLAG_UNICODE array: types: __module__,IntType,TypeType --------------------------------------------------- Modules not imported: guido.python.ham baconhameggs How do I find a particular module in Python?You can manually go and check the PYTHONPATH variable contents to find the directories from where these built in modules are being imported. Running "python -v"from the command line tells you what is being imported and from where. This is useful if you want to know the location of built in modules.
How will you search path for a module?So, to ensure that your module is found, you need to do one of the following: Put mod.py in the directory where the input script is located, or the current directory if interactive. Modify the PYTHONPATH environment variable to contain the directory where mod.py is located before starting the interpreter.
Why can't Python find a module?This is caused by the fact that the version of Python you're running your script with is not configured to search for modules where you've installed them. This happens when you use the wrong installation of pip to install packages.
|