Utilisation de la bibliothèque sys
¶
Il s'agit de la bibliothèque système qui permet d'interagir avec l'interpréteur de Python. Elle est donc au coeur du fonctionnement de Python. Voici quelques fonctions utiles de cette bibliothèque.
import sys
Décrire mon environnement¶
Lorsqu'on a un bug ou simplement lorsqu'on échange du code avec une personne, il est bon de savoir exactement quelle version de Python on utilise. Il est aussi utile de savoir comment le programme a été lancé, quels ont été les arguments voire quels sont les modules chargés.
sys.version
'3.5.2 (default, Nov 23 2017, 16:37:01) \n[GCC 5.4.0 20160609]'
sys.argv
['/usr/local/lib/python3.5/dist-packages/ipykernel_launcher.py', '-f', '/run/user/17041/jupyter/kernel-b5fe12d1-6aa5-4c60-ba53-6dcbae3c8b52.json']
Et oui, cette feuille n'est pas lancée avec le programme python
sur ma machine mais avec ipykernel_launcher.py
que je peux regarder si je désire comprendre ce qu'il fait.
Bien sûr derrière il y a Python. sys.executable
donne le chemin de l'interpréteur Python utilisé.
sys.executable
'/usr/bin/python3'
Le 2ème élément et les suivants de sys.argv
sont les arguments transmis à l'exécutable.
On voit donc que
sys.argv
permet de récupérer les arguments passés à son programme Python. Pour un programme
avec de nombreuses options possibles en argument, on utilisera argparse
.
Les modules chargés¶
Enfin il peut être utile d'avoir la liste des modules chargés avec le fichier source (parfois on a le même module en différents endroits sur sa machine avec des versions différentes).
sys.modules
{'IPython': <module 'IPython' from '/usr/local/lib/python3.5/dist-packages/IPython/__init__.py'>, 'IPython.core': <module 'IPython.core' from '/usr/local/lib/python3.5/dist-packages/IPython/core/__init__.py'>, 'IPython.core.alias': <module 'IPython.core.alias' from '/usr/local/lib/python3.5/dist-packages/IPython/core/alias.py'>, 'IPython.core.application': <module 'IPython.core.application' from '/usr/local/lib/python3.5/dist-packages/IPython/core/application.py'>, 'IPython.core.autocall': <module 'IPython.core.autocall' from '/usr/local/lib/python3.5/dist-packages/IPython/core/autocall.py'>, 'IPython.core.builtin_trap': <module 'IPython.core.builtin_trap' from '/usr/local/lib/python3.5/dist-packages/IPython/core/builtin_trap.py'>, 'IPython.core.compilerop': <module 'IPython.core.compilerop' from '/usr/local/lib/python3.5/dist-packages/IPython/core/compilerop.py'>, 'IPython.core.completer': <module 'IPython.core.completer' from '/usr/local/lib/python3.5/dist-packages/IPython/core/completer.py'>, 'IPython.core.completerlib': <module 'IPython.core.completerlib' from '/usr/local/lib/python3.5/dist-packages/IPython/core/completerlib.py'>, 'IPython.core.crashhandler': <module 'IPython.core.crashhandler' from '/usr/local/lib/python3.5/dist-packages/IPython/core/crashhandler.py'>, 'IPython.core.debugger': <module 'IPython.core.debugger' from '/usr/local/lib/python3.5/dist-packages/IPython/core/debugger.py'>, 'IPython.core.display': <module 'IPython.core.display' from '/usr/local/lib/python3.5/dist-packages/IPython/core/display.py'>, 'IPython.core.display_trap': <module 'IPython.core.display_trap' from '/usr/local/lib/python3.5/dist-packages/IPython/core/display_trap.py'>, 'IPython.core.displayhook': <module 'IPython.core.displayhook' from '/usr/local/lib/python3.5/dist-packages/IPython/core/displayhook.py'>, 'IPython.core.displaypub': <module 'IPython.core.displaypub' from '/usr/local/lib/python3.5/dist-packages/IPython/core/displaypub.py'>, 'IPython.core.error': <module 'IPython.core.error' from '/usr/local/lib/python3.5/dist-packages/IPython/core/error.py'>, 'IPython.core.events': <module 'IPython.core.events' from '/usr/local/lib/python3.5/dist-packages/IPython/core/events.py'>, 'IPython.core.excolors': <module 'IPython.core.excolors' from '/usr/local/lib/python3.5/dist-packages/IPython/core/excolors.py'>, 'IPython.core.extensions': <module 'IPython.core.extensions' from '/usr/local/lib/python3.5/dist-packages/IPython/core/extensions.py'>, 'IPython.core.formatters': <module 'IPython.core.formatters' from '/usr/local/lib/python3.5/dist-packages/IPython/core/formatters.py'>, 'IPython.core.getipython': <module 'IPython.core.getipython' from '/usr/local/lib/python3.5/dist-packages/IPython/core/getipython.py'>, 'IPython.core.history': <module 'IPython.core.history' from '/usr/local/lib/python3.5/dist-packages/IPython/core/history.py'>, 'IPython.core.hooks': <module 'IPython.core.hooks' from '/usr/local/lib/python3.5/dist-packages/IPython/core/hooks.py'>, 'IPython.core.inputsplitter': <module 'IPython.core.inputsplitter' from '/usr/local/lib/python3.5/dist-packages/IPython/core/inputsplitter.py'>, 'IPython.core.inputtransformer': <module 'IPython.core.inputtransformer' from '/usr/local/lib/python3.5/dist-packages/IPython/core/inputtransformer.py'>, 'IPython.core.interactiveshell': <module 'IPython.core.interactiveshell' from '/usr/local/lib/python3.5/dist-packages/IPython/core/interactiveshell.py'>, 'IPython.core.latex_symbols': <module 'IPython.core.latex_symbols' from '/usr/local/lib/python3.5/dist-packages/IPython/core/latex_symbols.py'>, 'IPython.core.logger': <module 'IPython.core.logger' from '/usr/local/lib/python3.5/dist-packages/IPython/core/logger.py'>, 'IPython.core.macro': <module 'IPython.core.macro' from '/usr/local/lib/python3.5/dist-packages/IPython/core/macro.py'>, 'IPython.core.magic': <module 'IPython.core.magic' from '/usr/local/lib/python3.5/dist-packages/IPython/core/magic.py'>, 'IPython.core.magic_arguments': <module 'IPython.core.magic_arguments' from '/usr/local/lib/python3.5/dist-packages/IPython/core/magic_arguments.py'>, 'IPython.core.magics': <module 'IPython.core.magics' from '/usr/local/lib/python3.5/dist-packages/IPython/core/magics/__init__.py'>, 'IPython.core.magics.auto': <module 'IPython.core.magics.auto' from '/usr/local/lib/python3.5/dist-packages/IPython/core/magics/auto.py'>, 'IPython.core.magics.basic': <module 'IPython.core.magics.basic' from '/usr/local/lib/python3.5/dist-packages/IPython/core/magics/basic.py'>, 'IPython.core.magics.code': <module 'IPython.core.magics.code' from '/usr/local/lib/python3.5/dist-packages/IPython/core/magics/code.py'>, 'IPython.core.magics.config': <module 'IPython.core.magics.config' from '/usr/local/lib/python3.5/dist-packages/IPython/core/magics/config.py'>, 'IPython.core.magics.display': <module 'IPython.core.magics.display' from '/usr/local/lib/python3.5/dist-packages/IPython/core/magics/display.py'>, 'IPython.core.magics.execution': <module 'IPython.core.magics.execution' from '/usr/local/lib/python3.5/dist-packages/IPython/core/magics/execution.py'>, 'IPython.core.magics.extension': <module 'IPython.core.magics.extension' from '/usr/local/lib/python3.5/dist-packages/IPython/core/magics/extension.py'>, 'IPython.core.magics.history': <module 'IPython.core.magics.history' from '/usr/local/lib/python3.5/dist-packages/IPython/core/magics/history.py'>, 'IPython.core.magics.logging': <module 'IPython.core.magics.logging' from '/usr/local/lib/python3.5/dist-packages/IPython/core/magics/logging.py'>, 'IPython.core.magics.namespace': <module 'IPython.core.magics.namespace' from '/usr/local/lib/python3.5/dist-packages/IPython/core/magics/namespace.py'>, 'IPython.core.magics.osm': <module 'IPython.core.magics.osm' from '/usr/local/lib/python3.5/dist-packages/IPython/core/magics/osm.py'>, 'IPython.core.magics.pylab': <module 'IPython.core.magics.pylab' from '/usr/local/lib/python3.5/dist-packages/IPython/core/magics/pylab.py'>, 'IPython.core.magics.script': <module 'IPython.core.magics.script' from '/usr/local/lib/python3.5/dist-packages/IPython/core/magics/script.py'>, 'IPython.core.oinspect': <module 'IPython.core.oinspect' from '/usr/local/lib/python3.5/dist-packages/IPython/core/oinspect.py'>, 'IPython.core.page': <module 'IPython.core.page' from '/usr/local/lib/python3.5/dist-packages/IPython/core/page.py'>, 'IPython.core.payload': <module 'IPython.core.payload' from '/usr/local/lib/python3.5/dist-packages/IPython/core/payload.py'>, 'IPython.core.payloadpage': <module 'IPython.core.payloadpage' from '/usr/local/lib/python3.5/dist-packages/IPython/core/payloadpage.py'>, 'IPython.core.prefilter': <module 'IPython.core.prefilter' from '/usr/local/lib/python3.5/dist-packages/IPython/core/prefilter.py'>, 'IPython.core.profiledir': <module 'IPython.core.profiledir' from '/usr/local/lib/python3.5/dist-packages/IPython/core/profiledir.py'>, 'IPython.core.pylabtools': <module 'IPython.core.pylabtools' from '/usr/local/lib/python3.5/dist-packages/IPython/core/pylabtools.py'>, 'IPython.core.release': <module 'IPython.core.release' from '/usr/local/lib/python3.5/dist-packages/IPython/core/release.py'>, 'IPython.core.shellapp': <module 'IPython.core.shellapp' from '/usr/local/lib/python3.5/dist-packages/IPython/core/shellapp.py'>, 'IPython.core.splitinput': <module 'IPython.core.splitinput' from '/usr/local/lib/python3.5/dist-packages/IPython/core/splitinput.py'>, 'IPython.core.ultratb': <module 'IPython.core.ultratb' from '/usr/local/lib/python3.5/dist-packages/IPython/core/ultratb.py'>, 'IPython.core.usage': <module 'IPython.core.usage' from '/usr/local/lib/python3.5/dist-packages/IPython/core/usage.py'>, 'IPython.display': <module 'IPython.display' from '/usr/local/lib/python3.5/dist-packages/IPython/display.py'>, 'IPython.extensions': <module 'IPython.extensions' from '/usr/local/lib/python3.5/dist-packages/IPython/extensions/__init__.py'>, 'IPython.extensions.storemagic': <module 'IPython.extensions.storemagic' from '/usr/local/lib/python3.5/dist-packages/IPython/extensions/storemagic.py'>, 'IPython.lib': <module 'IPython.lib' from '/usr/local/lib/python3.5/dist-packages/IPython/lib/__init__.py'>, 'IPython.lib.backgroundjobs': <module 'IPython.lib.backgroundjobs' from '/usr/local/lib/python3.5/dist-packages/IPython/lib/backgroundjobs.py'>, 'IPython.lib.clipboard': <module 'IPython.lib.clipboard' from '/usr/local/lib/python3.5/dist-packages/IPython/lib/clipboard.py'>, 'IPython.lib.display': <module 'IPython.lib.display' from '/usr/local/lib/python3.5/dist-packages/IPython/lib/display.py'>, 'IPython.lib.pretty': <module 'IPython.lib.pretty' from '/usr/local/lib/python3.5/dist-packages/IPython/lib/pretty.py'>, 'IPython.lib.security': <module 'IPython.lib.security' from '/usr/local/lib/python3.5/dist-packages/IPython/lib/security.py'>, 'IPython.paths': <module 'IPython.paths' from '/usr/local/lib/python3.5/dist-packages/IPython/paths.py'>, 'IPython.terminal': <module 'IPython.terminal' from '/usr/local/lib/python3.5/dist-packages/IPython/terminal/__init__.py'>, 'IPython.terminal.debugger': <module 'IPython.terminal.debugger' from '/usr/local/lib/python3.5/dist-packages/IPython/terminal/debugger.py'>, 'IPython.terminal.embed': <module 'IPython.terminal.embed' from '/usr/local/lib/python3.5/dist-packages/IPython/terminal/embed.py'>, 'IPython.terminal.interactiveshell': <module 'IPython.terminal.interactiveshell' from '/usr/local/lib/python3.5/dist-packages/IPython/terminal/interactiveshell.py'>, 'IPython.terminal.ipapp': <module 'IPython.terminal.ipapp' from '/usr/local/lib/python3.5/dist-packages/IPython/terminal/ipapp.py'>, 'IPython.terminal.magics': <module 'IPython.terminal.magics' from '/usr/local/lib/python3.5/dist-packages/IPython/terminal/magics.py'>, 'IPython.terminal.prompts': <module 'IPython.terminal.prompts' from '/usr/local/lib/python3.5/dist-packages/IPython/terminal/prompts.py'>, 'IPython.terminal.pt_inputhooks': <module 'IPython.terminal.pt_inputhooks' from '/usr/local/lib/python3.5/dist-packages/IPython/terminal/pt_inputhooks/__init__.py'>, 'IPython.terminal.ptutils': <module 'IPython.terminal.ptutils' from '/usr/local/lib/python3.5/dist-packages/IPython/terminal/ptutils.py'>, 'IPython.terminal.shortcuts': <module 'IPython.terminal.shortcuts' from '/usr/local/lib/python3.5/dist-packages/IPython/terminal/shortcuts.py'>, 'IPython.testing': <module 'IPython.testing' from '/usr/local/lib/python3.5/dist-packages/IPython/testing/__init__.py'>, 'IPython.testing.skipdoctest': <module 'IPython.testing.skipdoctest' from '/usr/local/lib/python3.5/dist-packages/IPython/testing/skipdoctest.py'>, 'IPython.utils': <module 'IPython.utils' from '/usr/local/lib/python3.5/dist-packages/IPython/utils/__init__.py'>, 'IPython.utils.PyColorize': <module 'IPython.utils.PyColorize' from '/usr/local/lib/python3.5/dist-packages/IPython/utils/PyColorize.py'>, 'IPython.utils._process_common': <module 'IPython.utils._process_common' from '/usr/local/lib/python3.5/dist-packages/IPython/utils/_process_common.py'>, 'IPython.utils._process_posix': <module 'IPython.utils._process_posix' from '/usr/local/lib/python3.5/dist-packages/IPython/utils/_process_posix.py'>, 'IPython.utils._sysinfo': <module 'IPython.utils._sysinfo' from '/usr/local/lib/python3.5/dist-packages/IPython/utils/_sysinfo.py'>, 'IPython.utils.capture': <module 'IPython.utils.capture' from '/usr/local/lib/python3.5/dist-packages/IPython/utils/capture.py'>, 'IPython.utils.colorable': <module 'IPython.utils.colorable' from '/usr/local/lib/python3.5/dist-packages/IPython/utils/colorable.py'>, 'IPython.utils.coloransi': <module 'IPython.utils.coloransi' from '/usr/local/lib/python3.5/dist-packages/IPython/utils/coloransi.py'>, 'IPython.utils.contexts': <module 'IPython.utils.contexts' from '/usr/local/lib/python3.5/dist-packages/IPython/utils/contexts.py'>, 'IPython.utils.data': <module 'IPython.utils.data' from '/usr/local/lib/python3.5/dist-packages/IPython/utils/data.py'>, 'IPython.utils.decorators': <module 'IPython.utils.decorators' from '/usr/local/lib/python3.5/dist-packages/IPython/utils/decorators.py'>, 'IPython.utils.dir2': <module 'IPython.utils.dir2' from '/usr/local/lib/python3.5/dist-packages/IPython/utils/dir2.py'>, 'IPython.utils.encoding': <module 'IPython.utils.encoding' from '/usr/local/lib/python3.5/dist-packages/IPython/utils/encoding.py'>, 'IPython.utils.frame': <module 'IPython.utils.frame' from '/usr/local/lib/python3.5/dist-packages/IPython/utils/frame.py'>, 'IPython.utils.generics': <module 'IPython.utils.generics' from '/usr/local/lib/python3.5/dist-packages/IPython/utils/generics.py'>, 'IPython.utils.importstring': <module 'IPython.utils.importstring' from '/usr/local/lib/python3.5/dist-packages/IPython/utils/importstring.py'>, 'IPython.utils.io': <module 'IPython.utils.io' from '/usr/local/lib/python3.5/dist-packages/IPython/utils/io.py'>, 'IPython.utils.ipstruct': <module 'IPython.utils.ipstruct' from '/usr/local/lib/python3.5/dist-packages/IPython/utils/ipstruct.py'>, 'IPython.utils.module_paths': <module 'IPython.utils.module_paths' from '/usr/local/lib/python3.5/dist-packages/IPython/utils/module_paths.py'>, 'IPython.utils.openpy': <module 'IPython.utils.openpy' from '/usr/local/lib/python3.5/dist-packages/IPython/utils/openpy.py'>, 'IPython.utils.path': <module 'IPython.utils.path' from '/usr/local/lib/python3.5/dist-packages/IPython/utils/path.py'>, 'IPython.utils.process': <module 'IPython.utils.process' from '/usr/local/lib/python3.5/dist-packages/IPython/utils/process.py'>, 'IPython.utils.py3compat': <module 'IPython.utils.py3compat' from '/usr/local/lib/python3.5/dist-packages/IPython/utils/py3compat.py'>, 'IPython.utils.sentinel': <module 'IPython.utils.sentinel' from '/usr/local/lib/python3.5/dist-packages/IPython/utils/sentinel.py'>, 'IPython.utils.strdispatch': <module 'IPython.utils.strdispatch' from '/usr/local/lib/python3.5/dist-packages/IPython/utils/strdispatch.py'>, 'IPython.utils.sysinfo': <module 'IPython.utils.sysinfo' from '/usr/local/lib/python3.5/dist-packages/IPython/utils/sysinfo.py'>, 'IPython.utils.syspathcontext': <module 'IPython.utils.syspathcontext' from '/usr/local/lib/python3.5/dist-packages/IPython/utils/syspathcontext.py'>, 'IPython.utils.tempdir': <module 'IPython.utils.tempdir' from '/usr/local/lib/python3.5/dist-packages/IPython/utils/tempdir.py'>, 'IPython.utils.terminal': <module 'IPython.utils.terminal' from '/usr/local/lib/python3.5/dist-packages/IPython/utils/terminal.py'>, 'IPython.utils.text': <module 'IPython.utils.text' from '/usr/local/lib/python3.5/dist-packages/IPython/utils/text.py'>, 'IPython.utils.timing': <module 'IPython.utils.timing' from '/usr/local/lib/python3.5/dist-packages/IPython/utils/timing.py'>, 'IPython.utils.tokenize2': <module 'IPython.utils.tokenize2' from '/usr/local/lib/python3.5/dist-packages/IPython/utils/tokenize2.py'>, 'IPython.utils.tokenutil': <module 'IPython.utils.tokenutil' from '/usr/local/lib/python3.5/dist-packages/IPython/utils/tokenutil.py'>, 'IPython.utils.wildcard': <module 'IPython.utils.wildcard' from '/usr/local/lib/python3.5/dist-packages/IPython/utils/wildcard.py'>, '__future__': <module '__future__' from '/usr/lib/python3.5/__future__.py'>, '__main__': <module '__main__'>, '__mp_main__': <module 'ipykernel_launcher' from '/usr/local/lib/python3.5/dist-packages/ipykernel_launcher.py'>, '_ast': <module '_ast' (built-in)>, '_bisect': <module '_bisect' (built-in)>, '_bootlocale': <module '_bootlocale' from '/usr/lib/python3.5/_bootlocale.py'>, '_bz2': <module '_bz2' from '/usr/lib/python3.5/lib-dynload/_bz2.cpython-35m-x86_64-linux-gnu.so'>, '_codecs': <module '_codecs' (built-in)>, '_collections': <module '_collections' (built-in)>, '_collections_abc': <module '_collections_abc' from '/usr/lib/python3.5/_collections_abc.py'>, '_compat_pickle': <module '_compat_pickle' from '/usr/lib/python3.5/_compat_pickle.py'>, '_compression': <module '_compression' from '/usr/lib/python3.5/_compression.py'>, '_ctypes': <module '_ctypes' from '/usr/lib/python3.5/lib-dynload/_ctypes.cpython-35m-x86_64-linux-gnu.so'>, '_curses': <module '_curses' from '/usr/lib/python3.5/lib-dynload/_curses.cpython-35m-x86_64-linux-gnu.so'>, '_cython_0_27_3': <module '_cython_0_27_3'>, '_datetime': <module '_datetime' (built-in)>, '_decimal': <module '_decimal' from '/usr/lib/python3.5/lib-dynload/_decimal.cpython-35m-x86_64-linux-gnu.so'>, '_frozen_importlib': <module 'importlib._bootstrap' (frozen)>, '_frozen_importlib_external': <module 'importlib._bootstrap_external' (frozen)>, '_functools': <module '_functools' (built-in)>, '_hashlib': <module '_hashlib' from '/usr/lib/python3.5/lib-dynload/_hashlib.cpython-35m-x86_64-linux-gnu.so'>, '_heapq': <module '_heapq' (built-in)>, '_imp': <module '_imp' (built-in)>, '_io': <module 'io' (built-in)>, '_json': <module '_json' from '/usr/lib/python3.5/lib-dynload/_json.cpython-35m-x86_64-linux-gnu.so'>, '_locale': <module '_locale' (built-in)>, '_lsprof': <module '_lsprof' from '/usr/lib/python3.5/lib-dynload/_lsprof.cpython-35m-x86_64-linux-gnu.so'>, '_lzma': <module '_lzma' from '/usr/lib/python3.5/lib-dynload/_lzma.cpython-35m-x86_64-linux-gnu.so'>, '_multiprocessing': <module '_multiprocessing' from '/usr/lib/python3.5/lib-dynload/_multiprocessing.cpython-35m-x86_64-linux-gnu.so'>, '_opcode': <module '_opcode' from '/usr/lib/python3.5/lib-dynload/_opcode.cpython-35m-x86_64-linux-gnu.so'>, '_operator': <module '_operator' (built-in)>, '_pickle': <module '_pickle' (built-in)>, '_posixsubprocess': <module '_posixsubprocess' (built-in)>, '_random': <module '_random' (built-in)>, '_signal': <module '_signal' (built-in)>, '_sitebuiltins': <module '_sitebuiltins' from '/usr/lib/python3.5/_sitebuiltins.py'>, '_socket': <module '_socket' (built-in)>, '_sqlite3': <module '_sqlite3' from '/usr/lib/python3.5/lib-dynload/_sqlite3.cpython-35m-x86_64-linux-gnu.so'>, '_sre': <module '_sre' (built-in)>, '_ssl': <module '_ssl' from '/usr/lib/python3.5/lib-dynload/_ssl.cpython-35m-x86_64-linux-gnu.so'>, '_stat': <module '_stat' (built-in)>, '_string': <module '_string' (built-in)>, '_strptime': <module '_strptime' from '/usr/lib/python3.5/_strptime.py'>, '_struct': <module '_struct' (built-in)>, '_sysconfigdata': <module '_sysconfigdata' from '/usr/lib/python3.5/_sysconfigdata.py'>, '_sysconfigdata_m': <module '_sysconfigdata_m' from '/usr/lib/python3.5/plat-x86_64-linux-gnu/_sysconfigdata_m.py'>, '_thread': <module '_thread' (built-in)>, '_warnings': <module '_warnings' (built-in)>, '_weakref': <module '_weakref' (built-in)>, '_weakrefset': <module '_weakrefset' from '/usr/lib/python3.5/_weakrefset.py'>, 'abc': <module 'abc' from '/usr/lib/python3.5/abc.py'>, 'apport_python_hook': <module 'apport_python_hook' from '/usr/lib/python3/dist-packages/apport_python_hook.py'>, 'argparse': <module 'argparse' from '/usr/lib/python3.5/argparse.py'>, 'array': <module 'array' (built-in)>, 'ast': <module 'ast' from '/usr/lib/python3.5/ast.py'>, 'asyncio': <module 'asyncio' from '/usr/lib/python3.5/asyncio/__init__.py'>, 'asyncio.base_events': <module 'asyncio.base_events' from '/usr/lib/python3.5/asyncio/base_events.py'>, 'asyncio.base_subprocess': <module 'asyncio.base_subprocess' from '/usr/lib/python3.5/asyncio/base_subprocess.py'>, 'asyncio.compat': <module 'asyncio.compat' from '/usr/lib/python3.5/asyncio/compat.py'>, 'asyncio.constants': <module 'asyncio.constants' from '/usr/lib/python3.5/asyncio/constants.py'>, 'asyncio.coroutines': <module 'asyncio.coroutines' from '/usr/lib/python3.5/asyncio/coroutines.py'>, 'asyncio.events': <module 'asyncio.events' from '/usr/lib/python3.5/asyncio/events.py'>, 'asyncio.futures': <module 'asyncio.futures' from '/usr/lib/python3.5/asyncio/futures.py'>, 'asyncio.locks': <module 'asyncio.locks' from '/usr/lib/python3.5/asyncio/locks.py'>, 'asyncio.log': <module 'asyncio.log' from '/usr/lib/python3.5/asyncio/log.py'>, 'asyncio.protocols': <module 'asyncio.protocols' from '/usr/lib/python3.5/asyncio/protocols.py'>, 'asyncio.queues': <module 'asyncio.queues' from '/usr/lib/python3.5/asyncio/queues.py'>, 'asyncio.selector_events': <module 'asyncio.selector_events' from '/usr/lib/python3.5/asyncio/selector_events.py'>, 'asyncio.sslproto': <module 'asyncio.sslproto' from '/usr/lib/python3.5/asyncio/sslproto.py'>, 'asyncio.streams': <module 'asyncio.streams' from '/usr/lib/python3.5/asyncio/streams.py'>, 'asyncio.subprocess': <module 'asyncio.subprocess' from '/usr/lib/python3.5/asyncio/subprocess.py'>, 'asyncio.tasks': <module 'asyncio.tasks' from '/usr/lib/python3.5/asyncio/tasks.py'>, 'asyncio.transports': <module 'asyncio.transports' from '/usr/lib/python3.5/asyncio/transports.py'>, 'asyncio.unix_events': <module 'asyncio.unix_events' from '/usr/lib/python3.5/asyncio/unix_events.py'>, 'atexit': <module 'atexit' (built-in)>, 'base64': <module 'base64' from '/usr/lib/python3.5/base64.py'>, 'bdb': <module 'bdb' from '/usr/lib/python3.5/bdb.py'>, 'binascii': <module 'binascii' (built-in)>, 'bisect': <module 'bisect' from '/usr/lib/python3.5/bisect.py'>, 'builtins': <module 'builtins' (built-in)>, 'bz2': <module 'bz2' from '/usr/lib/python3.5/bz2.py'>, 'cProfile': <module 'cProfile' from '/usr/lib/python3.5/cProfile.py'>, 'calendar': <module 'calendar' from '/usr/lib/python3.5/calendar.py'>, 'cmd': <module 'cmd' from '/usr/lib/python3.5/cmd.py'>, 'code': <module 'code' from '/usr/lib/python3.5/code.py'>, 'codecs': <module 'codecs' from '/usr/lib/python3.5/codecs.py'>, 'codeop': <module 'codeop' from '/usr/lib/python3.5/codeop.py'>, 'collections': <module 'collections' from '/usr/lib/python3.5/collections/__init__.py'>, 'collections.abc': <module 'collections.abc' from '/usr/lib/python3.5/collections/abc.py'>, 'concurrent': <module 'concurrent' from '/usr/lib/python3.5/concurrent/__init__.py'>, 'concurrent.futures': <module 'concurrent.futures' from '/usr/lib/python3.5/concurrent/futures/__init__.py'>, 'concurrent.futures._base': <module 'concurrent.futures._base' from '/usr/lib/python3.5/concurrent/futures/_base.py'>, 'concurrent.futures.process': <module 'concurrent.futures.process' from '/usr/lib/python3.5/concurrent/futures/process.py'>, 'concurrent.futures.thread': <module 'concurrent.futures.thread' from '/usr/lib/python3.5/concurrent/futures/thread.py'>, 'contextlib': <module 'contextlib' from '/usr/lib/python3.5/contextlib.py'>, 'copy': <module 'copy' from '/usr/lib/python3.5/copy.py'>, 'copyreg': <module 'copyreg' from '/usr/lib/python3.5/copyreg.py'>, 'ctypes': <module 'ctypes' from '/usr/lib/python3.5/ctypes/__init__.py'>, 'ctypes._endian': <module 'ctypes._endian' from '/usr/lib/python3.5/ctypes/_endian.py'>, 'ctypes.util': <module 'ctypes.util' from '/usr/lib/python3.5/ctypes/util.py'>, 'curses': <module 'curses' from '/usr/lib/python3.5/curses/__init__.py'>, 'cython_runtime': <module 'cython_runtime'>, 'datetime': <module 'datetime' from '/usr/lib/python3.5/datetime.py'>, 'dateutil': <module 'dateutil' from '/usr/local/lib/python3.5/dist-packages/dateutil/__init__.py'>, 'dateutil._common': <module 'dateutil._common' from '/usr/local/lib/python3.5/dist-packages/dateutil/_common.py'>, 'dateutil._version': <module 'dateutil._version' from '/usr/local/lib/python3.5/dist-packages/dateutil/_version.py'>, 'dateutil.parser': <module 'dateutil.parser' from '/usr/local/lib/python3.5/dist-packages/dateutil/parser/__init__.py'>, 'dateutil.parser._parser': <module 'dateutil.parser._parser' from '/usr/local/lib/python3.5/dist-packages/dateutil/parser/_parser.py'>, 'dateutil.parser.isoparser': <module 'dateutil.parser.isoparser' from '/usr/local/lib/python3.5/dist-packages/dateutil/parser/isoparser.py'>, 'dateutil.relativedelta': <module 'dateutil.relativedelta' from '/usr/local/lib/python3.5/dist-packages/dateutil/relativedelta.py'>, 'dateutil.tz': <module 'dateutil.tz' from '/usr/local/lib/python3.5/dist-packages/dateutil/tz/__init__.py'>, 'dateutil.tz._common': <module 'dateutil.tz._common' from '/usr/local/lib/python3.5/dist-packages/dateutil/tz/_common.py'>, 'dateutil.tz._factories': <module 'dateutil.tz._factories' from '/usr/local/lib/python3.5/dist-packages/dateutil/tz/_factories.py'>, 'dateutil.tz.tz': <module 'dateutil.tz.tz' from '/usr/local/lib/python3.5/dist-packages/dateutil/tz/tz.py'>, 'decimal': <module 'decimal' from '/usr/lib/python3.5/decimal.py'>, 'decorator': <module 'decorator' from '/usr/local/lib/python3.5/dist-packages/decorator.py'>, 'difflib': <module 'difflib' from '/usr/lib/python3.5/difflib.py'>, 'dis': <module 'dis' from '/usr/lib/python3.5/dis.py'>, 'email': <module 'email' from '/usr/lib/python3.5/email/__init__.py'>, 'email._encoded_words': <module 'email._encoded_words' from '/usr/lib/python3.5/email/_encoded_words.py'>, 'email._parseaddr': <module 'email._parseaddr' from '/usr/lib/python3.5/email/_parseaddr.py'>, 'email._policybase': <module 'email._policybase' from '/usr/lib/python3.5/email/_policybase.py'>, 'email.base64mime': <module 'email.base64mime' from '/usr/lib/python3.5/email/base64mime.py'>, 'email.charset': <module 'email.charset' from '/usr/lib/python3.5/email/charset.py'>, 'email.encoders': <module 'email.encoders' from '/usr/lib/python3.5/email/encoders.py'>, 'email.errors': <module 'email.errors' from '/usr/lib/python3.5/email/errors.py'>, 'email.feedparser': <module 'email.feedparser' from '/usr/lib/python3.5/email/feedparser.py'>, 'email.header': <module 'email.header' from '/usr/lib/python3.5/email/header.py'>, 'email.iterators': <module 'email.iterators' from '/usr/lib/python3.5/email/iterators.py'>, 'email.message': <module 'email.message' from '/usr/lib/python3.5/email/message.py'>, 'email.parser': <module 'email.parser' from '/usr/lib/python3.5/email/parser.py'>, 'email.quoprimime': <module 'email.quoprimime' from '/usr/lib/python3.5/email/quoprimime.py'>, 'email.utils': <module 'email.utils' from '/usr/lib/python3.5/email/utils.py'>, 'encodings': <module 'encodings' from '/usr/lib/python3.5/encodings/__init__.py'>, 'encodings.aliases': <module 'encodings.aliases' from '/usr/lib/python3.5/encodings/aliases.py'>, 'encodings.latin_1': <module 'encodings.latin_1' from '/usr/lib/python3.5/encodings/latin_1.py'>, 'encodings.utf_8': <module 'encodings.utf_8' from '/usr/lib/python3.5/encodings/utf_8.py'>, 'enum': <module 'enum' from '/usr/lib/python3.5/enum.py'>, 'errno': <module 'errno' (built-in)>, 'faulthandler': <module 'faulthandler' (built-in)>, 'fcntl': <module 'fcntl' (built-in)>, 'fnmatch': <module 'fnmatch' from '/usr/lib/python3.5/fnmatch.py'>, 'functools': <module 'functools' from '/usr/lib/python3.5/functools.py'>, 'gc': <module 'gc' (built-in)>, 'genericpath': <module 'genericpath' from '/usr/lib/python3.5/genericpath.py'>, 'getopt': <module 'getopt' from '/usr/lib/python3.5/getopt.py'>, 'getpass': <module 'getpass' from '/usr/lib/python3.5/getpass.py'>, 'gettext': <module 'gettext' from '/usr/lib/python3.5/gettext.py'>, 'glob': <module 'glob' from '/usr/lib/python3.5/glob.py'>, 'google': <module 'google' (namespace)>, 'grp': <module 'grp' (built-in)>, 'hashlib': <module 'hashlib' from '/usr/lib/python3.5/hashlib.py'>, 'heapq': <module 'heapq' from '/usr/lib/python3.5/heapq.py'>, 'hmac': <module 'hmac' from '/usr/lib/python3.5/hmac.py'>, 'html': <module 'html' from '/usr/lib/python3.5/html/__init__.py'>, 'html.entities': <module 'html.entities' from '/usr/lib/python3.5/html/entities.py'>, 'imp': <module 'imp' from '/usr/lib/python3.5/imp.py'>, 'importlib': <module 'importlib' from '/usr/lib/python3.5/importlib/__init__.py'>, 'importlib._bootstrap': <module 'importlib._bootstrap' (frozen)>, 'importlib._bootstrap_external': <module 'importlib._bootstrap_external' (frozen)>, 'importlib.abc': <module 'importlib.abc' from '/usr/lib/python3.5/importlib/abc.py'>, 'importlib.machinery': <module 'importlib.machinery' from '/usr/lib/python3.5/importlib/machinery.py'>, 'importlib.util': <module 'importlib.util' from '/usr/lib/python3.5/importlib/util.py'>, 'inspect': <module 'inspect' from '/usr/lib/python3.5/inspect.py'>, 'io': <module 'io' from '/usr/lib/python3.5/io.py'>, 'ipaddress': <module 'ipaddress' from '/usr/lib/python3.5/ipaddress.py'>, 'ipykernel': <module 'ipykernel' from '/usr/local/lib/python3.5/dist-packages/ipykernel/__init__.py'>, 'ipykernel._version': <module 'ipykernel._version' from '/usr/local/lib/python3.5/dist-packages/ipykernel/_version.py'>, 'ipykernel.codeutil': <module 'ipykernel.codeutil' from '/usr/local/lib/python3.5/dist-packages/ipykernel/codeutil.py'>, 'ipykernel.comm': <module 'ipykernel.comm' from '/usr/local/lib/python3.5/dist-packages/ipykernel/comm/__init__.py'>, 'ipykernel.comm.comm': <module 'ipykernel.comm.comm' from '/usr/local/lib/python3.5/dist-packages/ipykernel/comm/comm.py'>, 'ipykernel.comm.manager': <module 'ipykernel.comm.manager' from '/usr/local/lib/python3.5/dist-packages/ipykernel/comm/manager.py'>, 'ipykernel.connect': <module 'ipykernel.connect' from '/usr/local/lib/python3.5/dist-packages/ipykernel/connect.py'>, 'ipykernel.datapub': <module 'ipykernel.datapub' from '/usr/local/lib/python3.5/dist-packages/ipykernel/datapub.py'>, 'ipykernel.displayhook': <module 'ipykernel.displayhook' from '/usr/local/lib/python3.5/dist-packages/ipykernel/displayhook.py'>, 'ipykernel.heartbeat': <module 'ipykernel.heartbeat' from '/usr/local/lib/python3.5/dist-packages/ipykernel/heartbeat.py'>, 'ipykernel.iostream': <module 'ipykernel.iostream' from '/usr/local/lib/python3.5/dist-packages/ipykernel/iostream.py'>, 'ipykernel.ipkernel': <module 'ipykernel.ipkernel' from '/usr/local/lib/python3.5/dist-packages/ipykernel/ipkernel.py'>, 'ipykernel.jsonutil': <module 'ipykernel.jsonutil' from '/usr/local/lib/python3.5/dist-packages/ipykernel/jsonutil.py'>, 'ipykernel.kernelapp': <module 'ipykernel.kernelapp' from '/usr/local/lib/python3.5/dist-packages/ipykernel/kernelapp.py'>, 'ipykernel.kernelbase': <module 'ipykernel.kernelbase' from '/usr/local/lib/python3.5/dist-packages/ipykernel/kernelbase.py'>, 'ipykernel.parentpoller': <module 'ipykernel.parentpoller' from '/usr/local/lib/python3.5/dist-packages/ipykernel/parentpoller.py'>, 'ipykernel.pickleutil': <module 'ipykernel.pickleutil' from '/usr/local/lib/python3.5/dist-packages/ipykernel/pickleutil.py'>, 'ipykernel.serialize': <module 'ipykernel.serialize' from '/usr/local/lib/python3.5/dist-packages/ipykernel/serialize.py'>, 'ipykernel.zmqshell': <module 'ipykernel.zmqshell' from '/usr/local/lib/python3.5/dist-packages/ipykernel/zmqshell.py'>, 'ipython_genutils': <module 'ipython_genutils' from '/usr/local/lib/python3.5/dist-packages/ipython_genutils/__init__.py'>, 'ipython_genutils._version': <module 'ipython_genutils._version' from '/usr/local/lib/python3.5/dist-packages/ipython_genutils/_version.py'>, 'ipython_genutils.encoding': <module 'ipython_genutils.encoding' from '/usr/local/lib/python3.5/dist-packages/ipython_genutils/encoding.py'>, 'ipython_genutils.importstring': <module 'ipython_genutils.importstring' from '/usr/local/lib/python3.5/dist-packages/ipython_genutils/importstring.py'>, 'ipython_genutils.path': <module 'ipython_genutils.path' from '/usr/local/lib/python3.5/dist-packages/ipython_genutils/path.py'>, 'ipython_genutils.py3compat': <module 'ipython_genutils.py3compat' from '/usr/local/lib/python3.5/dist-packages/ipython_genutils/py3compat.py'>, 'ipython_genutils.text': <module 'ipython_genutils.text' from '/usr/local/lib/python3.5/dist-packages/ipython_genutils/text.py'>, 'ipywidgets': <module 'ipywidgets' from '/usr/local/lib/python3.5/dist-packages/ipywidgets/__init__.py'>, 'ipywidgets._version': <module 'ipywidgets._version' from '/usr/local/lib/python3.5/dist-packages/ipywidgets/_version.py'>, 'ipywidgets.widgets': <module 'ipywidgets.widgets' from '/usr/local/lib/python3.5/dist-packages/ipywidgets/widgets/__init__.py'>, 'ipywidgets.widgets.docutils': <module 'ipywidgets.widgets.docutils' from '/usr/local/lib/python3.5/dist-packages/ipywidgets/widgets/docutils.py'>, 'ipywidgets.widgets.domwidget': <module 'ipywidgets.widgets.domwidget' from '/usr/local/lib/python3.5/dist-packages/ipywidgets/widgets/domwidget.py'>, 'ipywidgets.widgets.interaction': <module 'ipywidgets.widgets.interaction' from '/usr/local/lib/python3.5/dist-packages/ipywidgets/widgets/interaction.py'>, 'ipywidgets.widgets.trait_types': <module 'ipywidgets.widgets.trait_types' from '/usr/local/lib/python3.5/dist-packages/ipywidgets/widgets/trait_types.py'>, 'ipywidgets.widgets.valuewidget': <module 'ipywidgets.widgets.valuewidget' from '/usr/local/lib/python3.5/dist-packages/ipywidgets/widgets/valuewidget.py'>, 'ipywidgets.widgets.widget': <module 'ipywidgets.widgets.widget' from '/usr/local/lib/python3.5/dist-packages/ipywidgets/widgets/widget.py'>, 'ipywidgets.widgets.widget_bool': <module 'ipywidgets.widgets.widget_bool' from '/usr/local/lib/python3.5/dist-packages/ipywidgets/widgets/widget_bool.py'>, 'ipywidgets.widgets.widget_box': <module 'ipywidgets.widgets.widget_box' from '/usr/local/lib/python3.5/dist-packages/ipywidgets/widgets/widget_box.py'>, 'ipywidgets.widgets.widget_button': <module 'ipywidgets.widgets.widget_button' from '/usr/local/lib/python3.5/dist-packages/ipywidgets/widgets/widget_button.py'>, 'ipywidgets.widgets.widget_color': <module 'ipywidgets.widgets.widget_color' from '/usr/local/lib/python3.5/dist-packages/ipywidgets/widgets/widget_color.py'>, 'ipywidgets.widgets.widget_controller': <module 'ipywidgets.widgets.widget_controller' from '/usr/local/lib/python3.5/dist-packages/ipywidgets/widgets/widget_controller.py'>, 'ipywidgets.widgets.widget_core': <module 'ipywidgets.widgets.widget_core' from '/usr/local/lib/python3.5/dist-packages/ipywidgets/widgets/widget_core.py'>, 'ipywidgets.widgets.widget_date': <module 'ipywidgets.widgets.widget_date' from '/usr/local/lib/python3.5/dist-packages/ipywidgets/widgets/widget_date.py'>, 'ipywidgets.widgets.widget_description': <module 'ipywidgets.widgets.widget_description' from '/usr/local/lib/python3.5/dist-packages/ipywidgets/widgets/widget_description.py'>, 'ipywidgets.widgets.widget_float': <module 'ipywidgets.widgets.widget_float' from '/usr/local/lib/python3.5/dist-packages/ipywidgets/widgets/widget_float.py'>, 'ipywidgets.widgets.widget_image': <module 'ipywidgets.widgets.widget_image' from '/usr/local/lib/python3.5/dist-packages/ipywidgets/widgets/widget_image.py'>, 'ipywidgets.widgets.widget_int': <module 'ipywidgets.widgets.widget_int' from '/usr/local/lib/python3.5/dist-packages/ipywidgets/widgets/widget_int.py'>, 'ipywidgets.widgets.widget_layout': <module 'ipywidgets.widgets.widget_layout' from '/usr/local/lib/python3.5/dist-packages/ipywidgets/widgets/widget_layout.py'>, 'ipywidgets.widgets.widget_link': <module 'ipywidgets.widgets.widget_link' from '/usr/local/lib/python3.5/dist-packages/ipywidgets/widgets/widget_link.py'>, 'ipywidgets.widgets.widget_output': <module 'ipywidgets.widgets.widget_output' from '/usr/local/lib/python3.5/dist-packages/ipywidgets/widgets/widget_output.py'>, 'ipywidgets.widgets.widget_selection': <module 'ipywidgets.widgets.widget_selection' from '/usr/local/lib/python3.5/dist-packages/ipywidgets/widgets/widget_selection.py'>, 'ipywidgets.widgets.widget_selectioncontainer': <module 'ipywidgets.widgets.widget_selectioncontainer' from '/usr/local/lib/python3.5/dist-packages/ipywidgets/widgets/widget_selectioncontainer.py'>, 'ipywidgets.widgets.widget_string': <module 'ipywidgets.widgets.widget_string' from '/usr/local/lib/python3.5/dist-packages/ipywidgets/widgets/widget_string.py'>, 'ipywidgets.widgets.widget_style': <module 'ipywidgets.widgets.widget_style' from '/usr/local/lib/python3.5/dist-packages/ipywidgets/widgets/widget_style.py'>, 'itertools': <module 'itertools' (built-in)>, 'jedi': <module 'jedi' from '/usr/local/lib/python3.5/dist-packages/jedi/__init__.py'>, 'jedi._compatibility': <module 'jedi._compatibility' from '/usr/local/lib/python3.5/dist-packages/jedi/_compatibility.py'>, 'jedi.api': <module 'jedi.api' from '/usr/local/lib/python3.5/dist-packages/jedi/api/__init__.py'>, 'jedi.api.classes': <module 'jedi.api.classes' from '/usr/local/lib/python3.5/dist-packages/jedi/api/classes.py'>, 'jedi.api.completion': <module 'jedi.api.completion' from '/usr/local/lib/python3.5/dist-packages/jedi/api/completion.py'>, 'jedi.api.helpers': <module 'jedi.api.helpers' from '/usr/local/lib/python3.5/dist-packages/jedi/api/helpers.py'>, 'jedi.api.interpreter': <module 'jedi.api.interpreter' from '/usr/local/lib/python3.5/dist-packages/jedi/api/interpreter.py'>, 'jedi.api.keywords': <module 'jedi.api.keywords' from '/usr/local/lib/python3.5/dist-packages/jedi/api/keywords.py'>, 'jedi.cache': <module 'jedi.cache' from '/usr/local/lib/python3.5/dist-packages/jedi/cache.py'>, 'jedi.common': <module 'jedi.common' from '/usr/local/lib/python3.5/dist-packages/jedi/common/__init__.py'>, 'jedi.common.context': <module 'jedi.common.context' from '/usr/local/lib/python3.5/dist-packages/jedi/common/context.py'>, 'jedi.debug': <module 'jedi.debug' from '/usr/local/lib/python3.5/dist-packages/jedi/debug.py'>, 'jedi.evaluate': <module 'jedi.evaluate' from '/usr/local/lib/python3.5/dist-packages/jedi/evaluate/__init__.py'>, 'jedi.evaluate.analysis': <module 'jedi.evaluate.analysis' from '/usr/local/lib/python3.5/dist-packages/jedi/evaluate/analysis.py'>, 'jedi.evaluate.arguments': <module 'jedi.evaluate.arguments' from '/usr/local/lib/python3.5/dist-packages/jedi/evaluate/arguments.py'>, 'jedi.evaluate.base_context': <module 'jedi.evaluate.base_context' from '/usr/local/lib/python3.5/dist-packages/jedi/evaluate/base_context.py'>, 'jedi.evaluate.cache': <module 'jedi.evaluate.cache' from '/usr/local/lib/python3.5/dist-packages/jedi/evaluate/cache.py'>, 'jedi.evaluate.compiled': <module 'jedi.evaluate.compiled' from '/usr/local/lib/python3.5/dist-packages/jedi/evaluate/compiled/__init__.py'>, 'jedi.evaluate.compiled.fake': <module 'jedi.evaluate.compiled.fake' from '/usr/local/lib/python3.5/dist-packages/jedi/evaluate/compiled/fake.py'>, 'jedi.evaluate.compiled.getattr_static': <module 'jedi.evaluate.compiled.getattr_static' from '/usr/local/lib/python3.5/dist-packages/jedi/evaluate/compiled/getattr_static.py'>, 'jedi.evaluate.compiled.mixed': <module 'jedi.evaluate.compiled.mixed' from '/usr/local/lib/python3.5/dist-packages/jedi/evaluate/compiled/mixed.py'>, 'jedi.evaluate.context': <module 'jedi.evaluate.context' from '/usr/local/lib/python3.5/dist-packages/jedi/evaluate/context/__init__.py'>, 'jedi.evaluate.context.function': <module 'jedi.evaluate.context.function' from '/usr/local/lib/python3.5/dist-packages/jedi/evaluate/context/function.py'>, 'jedi.evaluate.context.instance': <module 'jedi.evaluate.context.instance' from '/usr/local/lib/python3.5/dist-packages/jedi/evaluate/context/instance.py'>, 'jedi.evaluate.context.iterable': <module 'jedi.evaluate.context.iterable' from '/usr/local/lib/python3.5/dist-packages/jedi/evaluate/context/iterable.py'>, 'jedi.evaluate.context.klass': <module 'jedi.evaluate.context.klass' from '/usr/local/lib/python3.5/dist-packages/jedi/evaluate/context/klass.py'>, 'jedi.evaluate.context.module': <module 'jedi.evaluate.context.module' from '/usr/local/lib/python3.5/dist-packages/jedi/evaluate/context/module.py'>, 'jedi.evaluate.docstrings': <module 'jedi.evaluate.docstrings' from '/usr/local/lib/python3.5/dist-packages/jedi/evaluate/docstrings.py'>, 'jedi.evaluate.filters': <module 'jedi.evaluate.filters' from '/usr/local/lib/python3.5/dist-packages/jedi/evaluate/filters.py'>, 'jedi.evaluate.finder': <module 'jedi.evaluate.finder' from '/usr/local/lib/python3.5/dist-packages/jedi/evaluate/finder.py'>, 'jedi.evaluate.flow_analysis': <module 'jedi.evaluate.flow_analysis' from '/usr/local/lib/python3.5/dist-packages/jedi/evaluate/flow_analysis.py'>, 'jedi.evaluate.helpers': <module 'jedi.evaluate.helpers' from '/usr/local/lib/python3.5/dist-packages/jedi/evaluate/helpers.py'>, 'jedi.evaluate.imports': <module 'jedi.evaluate.imports' from '/usr/local/lib/python3.5/dist-packages/jedi/evaluate/imports.py'>, 'jedi.evaluate.lazy_context': <module 'jedi.evaluate.lazy_context' from '/usr/local/lib/python3.5/dist-packages/jedi/evaluate/lazy_context.py'>, 'jedi.evaluate.param': <module 'jedi.evaluate.param' from '/usr/local/lib/python3.5/dist-packages/jedi/evaluate/param.py'>, 'jedi.evaluate.parser_cache': <module 'jedi.evaluate.parser_cache' from '/usr/local/lib/python3.5/dist-packages/jedi/evaluate/parser_cache.py'>, 'jedi.evaluate.pep0484': <module 'jedi.evaluate.pep0484' from '/usr/local/lib/python3.5/dist-packages/jedi/evaluate/pep0484.py'>, 'jedi.evaluate.project': <module 'jedi.evaluate.project' from '/usr/local/lib/python3.5/dist-packages/jedi/evaluate/project.py'>, 'jedi.evaluate.recursion': <module 'jedi.evaluate.recursion' from '/usr/local/lib/python3.5/dist-packages/jedi/evaluate/recursion.py'>, 'jedi.evaluate.site': <module 'jedi.evaluate.site' from '/usr/local/lib/python3.5/dist-packages/jedi/evaluate/site.py'>, 'jedi.evaluate.syntax_tree': <module 'jedi.evaluate.syntax_tree' from '/usr/local/lib/python3.5/dist-packages/jedi/evaluate/syntax_tree.py'>, 'jedi.evaluate.sys_path': <module 'jedi.evaluate.sys_path' from '/usr/local/lib/python3.5/dist-packages/jedi/evaluate/sys_path.py'>, 'jedi.evaluate.usages': <module 'jedi.evaluate.usages' from '/usr/local/lib/python3.5/dist-packages/jedi/evaluate/usages.py'>, 'jedi.evaluate.utils': <module 'jedi.evaluate.utils' from '/usr/local/lib/python3.5/dist-packages/jedi/evaluate/utils.py'>, 'jedi.parser_utils': <module 'jedi.parser_utils' from '/usr/local/lib/python3.5/dist-packages/jedi/parser_utils.py'>, 'jedi.settings': <module 'jedi.settings' from '/usr/local/lib/python3.5/dist-packages/jedi/settings.py'>, 'json': <module 'json' from '/usr/lib/python3.5/json/__init__.py'>, 'json.decoder': <module 'json.decoder' from '/usr/lib/python3.5/json/decoder.py'>, 'json.encoder': <module 'json.encoder' from '/usr/lib/python3.5/json/encoder.py'>, 'json.scanner': <module 'json.scanner' from '/usr/lib/python3.5/json/scanner.py'>, 'jupyter_client': <module 'jupyter_client' from '/usr/local/lib/python3.5/dist-packages/jupyter_client/__init__.py'>, 'jupyter_client._version': <module 'jupyter_client._version' from '/usr/local/lib/python3.5/dist-packages/jupyter_client/_version.py'>, 'jupyter_client.adapter': <module 'jupyter_client.adapter' from '/usr/local/lib/python3.5/dist-packages/jupyter_client/adapter.py'>, 'jupyter_client.blocking': <module 'jupyter_client.blocking' from '/usr/local/lib/python3.5/dist-packages/jupyter_client/blocking/__init__.py'>, 'jupyter_client.blocking.channels': <module 'jupyter_client.blocking.channels' from '/usr/local/lib/python3.5/dist-packages/jupyter_client/blocking/channels.py'>, 'jupyter_client.blocking.client': <module 'jupyter_client.blocking.client' from '/usr/local/lib/python3.5/dist-packages/jupyter_client/blocking/client.py'>, 'jupyter_client.channels': <module 'jupyter_client.channels' from '/usr/local/lib/python3.5/dist-packages/jupyter_client/channels.py'>, 'jupyter_client.channelsabc': <module 'jupyter_client.channelsabc' from '/usr/local/lib/python3.5/dist-packages/jupyter_client/channelsabc.py'>, 'jupyter_client.client': <module 'jupyter_client.client' from '/usr/local/lib/python3.5/dist-packages/jupyter_client/client.py'>, 'jupyter_client.clientabc': <module 'jupyter_client.clientabc' from '/usr/local/lib/python3.5/dist-packages/jupyter_client/clientabc.py'>, 'jupyter_client.connect': <module 'jupyter_client.connect' from '/usr/local/lib/python3.5/dist-packages/jupyter_client/connect.py'>, 'jupyter_client.jsonutil': <module 'jupyter_client.jsonutil' from '/usr/local/lib/python3.5/dist-packages/jupyter_client/jsonutil.py'>, 'jupyter_client.kernelspec': <module 'jupyter_client.kernelspec' from '/usr/local/lib/python3.5/dist-packages/jupyter_client/kernelspec.py'>, 'jupyter_client.launcher': <module 'jupyter_client.launcher' from '/usr/local/lib/python3.5/dist-packages/jupyter_client/launcher.py'>, 'jupyter_client.localinterfaces': <module 'jupyter_client.localinterfaces' from '/usr/local/lib/python3.5/dist-packages/jupyter_client/localinterfaces.py'>, 'jupyter_client.manager': <module 'jupyter_client.manager' from '/usr/local/lib/python3.5/dist-packages/jupyter_client/manager.py'>, 'jupyter_client.managerabc': <module 'jupyter_client.managerabc' from '/usr/local/lib/python3.5/dist-packages/jupyter_client/managerabc.py'>, 'jupyter_client.multikernelmanager': <module 'jupyter_client.multikernelmanager' from '/usr/local/lib/python3.5/dist-packages/jupyter_client/multikernelmanager.py'>, 'jupyter_client.session': <module 'jupyter_client.session' from '/usr/local/lib/python3.5/dist-packages/jupyter_client/session.py'>, 'jupyter_core': <module 'jupyter_core' from '/usr/local/lib/python3.5/dist-packages/jupyter_core/__init__.py'>, 'jupyter_core.paths': <module 'jupyter_core.paths' from '/usr/local/lib/python3.5/dist-packages/jupyter_core/paths.py'>, 'jupyter_core.version': <module 'jupyter_core.version' from '/usr/local/lib/python3.5/dist-packages/jupyter_core/version.py'>, 'keyword': <module 'keyword' from '/usr/lib/python3.5/keyword.py'>, 'linecache': <module 'linecache' from '/usr/lib/python3.5/linecache.py'>, 'locale': <module 'locale' from '/usr/lib/python3.5/locale.py'>, 'logging': <module 'logging' from '/usr/lib/python3.5/logging/__init__.py'>, 'logging.handlers': <module 'logging.handlers' from '/usr/lib/python3.5/logging/handlers.py'>, 'lzma': <module 'lzma' from '/usr/lib/python3.5/lzma.py'>, 'marshal': <module 'marshal' (built-in)>, 'math': <module 'math' (built-in)>, 'mimetypes': <module 'mimetypes' from '/usr/lib/python3.5/mimetypes.py'>, 'mpl_toolkits': <module 'mpl_toolkits' (namespace)>, 'multiprocessing': <module 'multiprocessing' from '/usr/lib/python3.5/multiprocessing/__init__.py'>, 'multiprocessing.connection': <module 'multiprocessing.connection' from '/usr/lib/python3.5/multiprocessing/connection.py'>, 'multiprocessing.context': <module 'multiprocessing.context' from '/usr/lib/python3.5/multiprocessing/context.py'>, 'multiprocessing.process': <module 'multiprocessing.process' from '/usr/lib/python3.5/multiprocessing/process.py'>, 'multiprocessing.reduction': <module 'multiprocessing.reduction' from '/usr/lib/python3.5/multiprocessing/reduction.py'>, 'multiprocessing.util': <module 'multiprocessing.util' from '/usr/lib/python3.5/multiprocessing/util.py'>, 'ntpath': <module 'ntpath' from '/usr/lib/python3.5/ntpath.py'>, 'numbers': <module 'numbers' from '/usr/lib/python3.5/numbers.py'>, 'opcode': <module 'opcode' from '/usr/lib/python3.5/opcode.py'>, 'operator': <module 'operator' from '/usr/lib/python3.5/operator.py'>, 'optparse': <module 'optparse' from '/usr/lib/python3.5/optparse.py'>, 'os': <module 'os' from '/usr/lib/python3.5/os.py'>, 'os.path': <module 'posixpath' from '/usr/lib/python3.5/posixpath.py'>, 'parso': <module 'parso' from '/usr/local/lib/python3.5/dist-packages/parso/__init__.py'>, 'parso._compatibility': <module 'parso._compatibility' from '/usr/local/lib/python3.5/dist-packages/parso/_compatibility.py'>, 'parso.cache': <module 'parso.cache' from '/usr/local/lib/python3.5/dist-packages/parso/cache.py'>, 'parso.grammar': <module 'parso.grammar' from '/usr/local/lib/python3.5/dist-packages/parso/grammar.py'>, 'parso.normalizer': <module 'parso.normalizer' from '/usr/local/lib/python3.5/dist-packages/parso/normalizer.py'>, 'parso.parser': <module 'parso.parser' from '/usr/local/lib/python3.5/dist-packages/parso/parser.py'>, 'parso.pgen2': <module 'parso.pgen2' from '/usr/local/lib/python3.5/dist-packages/parso/pgen2/__init__.py'>, 'parso.pgen2.grammar': <module 'parso.pgen2.grammar' from '/usr/local/lib/python3.5/dist-packages/parso/pgen2/grammar.py'>, 'parso.pgen2.parse': <module 'parso.pgen2.parse' from '/usr/local/lib/python3.5/dist-packages/parso/pgen2/parse.py'>, 'parso.pgen2.pgen': <module 'parso.pgen2.pgen' from '/usr/local/lib/python3.5/dist-packages/parso/pgen2/pgen.py'>, 'parso.python': <module 'parso.python' from '/usr/local/lib/python3.5/dist-packages/parso/python/__init__.py'>, 'parso.python.diff': <module 'parso.python.diff' from '/usr/local/lib/python3.5/dist-packages/parso/python/diff.py'>, 'parso.python.errors': <module 'parso.python.errors' from '/usr/local/lib/python3.5/dist-packages/parso/python/errors.py'>, 'parso.python.fstring': <module 'parso.python.fstring' from '/usr/local/lib/python3.5/dist-packages/parso/python/fstring.py'>, 'parso.python.parser': <module 'parso.python.parser' from '/usr/local/lib/python3.5/dist-packages/parso/python/parser.py'>, 'parso.python.pep8': <module 'parso.python.pep8' from '/usr/local/lib/python3.5/dist-packages/parso/python/pep8.py'>, 'parso.python.prefix': <module 'parso.python.prefix' from '/usr/local/lib/python3.5/dist-packages/parso/python/prefix.py'>, 'parso.python.token': <module 'parso.python.token' from '/usr/local/lib/python3.5/dist-packages/parso/python/token.py'>, 'parso.python.tokenize': <module 'parso.python.tokenize' from '/usr/local/lib/python3.5/dist-packages/parso/python/tokenize.py'>, 'parso.python.tree': <module 'parso.python.tree' from '/usr/local/lib/python3.5/dist-packages/parso/python/tree.py'>, 'parso.tree': <module 'parso.tree' from '/usr/local/lib/python3.5/dist-packages/parso/tree.py'>, 'parso.utils': <module 'parso.utils' from '/usr/local/lib/python3.5/dist-packages/parso/utils.py'>, 'pathlib': <module 'pathlib' from '/usr/lib/python3.5/pathlib.py'>, 'pdb': <module 'pdb' from '/usr/lib/python3.5/pdb.py'>, 'pexpect': <module 'pexpect' from '/usr/lib/python3/dist-packages/pexpect/__init__.py'>, 'pexpect.exceptions': <module 'pexpect.exceptions' from '/usr/lib/python3/dist-packages/pexpect/exceptions.py'>, 'pexpect.expect': <module 'pexpect.expect' from '/usr/lib/python3/dist-packages/pexpect/expect.py'>, 'pexpect.pty_spawn': <module 'pexpect.pty_spawn' from '/usr/lib/python3/dist-packages/pexpect/pty_spawn.py'>, 'pexpect.run': <module 'pexpect.run' from '/usr/lib/python3/dist-packages/pexpect/run.py'>, 'pexpect.spawnbase': <module 'pexpect.spawnbase' from '/usr/lib/python3/dist-packages/pexpect/spawnbase.py'>, 'pexpect.utils': <module 'pexpect.utils' from '/usr/lib/python3/dist-packages/pexpect/utils.py'>, 'pickle': <module 'pickle' from '/usr/lib/python3.5/pickle.py'>, 'pickleshare': <module 'pickleshare' from '/usr/local/lib/python3.5/dist-packages/pickleshare.py'>, 'pkg_resources': <module 'pkg_resources' from '/usr/lib/python3/dist-packages/pkg_resources/__init__.py'>, 'pkg_resources._vendor': <module 'pkg_resources._vendor' from '/usr/lib/python3/dist-packages/pkg_resources/_vendor/__init__.py'>, 'pkg_resources._vendor.packaging.__about__': <module 'pkg_resources._vendor.packaging.__about__' from '/usr/lib/python3/dist-packages/pkg_resources/_vendor/packaging/__about__.py'>, 'pkg_resources._vendor.six': <module 'pkg_resources._vendor.six' from '/usr/lib/python3/dist-packages/pkg_resources/_vendor/six.py'>, 'pkg_resources._vendor.six.moves': <module 'pkg_resources._vendor.six.moves' (<pkg_resources._vendor.six._SixMetaPathImporter object at 0x7ff40b0f8208>)>, 'pkg_resources.extern': <module 'pkg_resources.extern' from '/usr/lib/python3/dist-packages/pkg_resources/extern/__init__.py'>, 'pkg_resources.extern.packaging': <module 'pkg_resources._vendor.packaging' from '/usr/lib/python3/dist-packages/pkg_resources/_vendor/packaging/__init__.py'>, 'pkg_resources.extern.packaging._compat': <module 'pkg_resources.extern.packaging._compat' from '/usr/lib/python3/dist-packages/pkg_resources/_vendor/packaging/_compat.py'>, 'pkg_resources.extern.packaging._structures': <module 'pkg_resources.extern.packaging._structures' from '/usr/lib/python3/dist-packages/pkg_resources/_vendor/packaging/_structures.py'>, 'pkg_resources.extern.packaging.markers': <module 'pkg_resources.extern.packaging.markers' from '/usr/lib/python3/dist-packages/pkg_resources/_vendor/packaging/markers.py'>, 'pkg_resources.extern.packaging.requirements': <module 'pkg_resources.extern.packaging.requirements' from '/usr/lib/python3/dist-packages/pkg_resources/_vendor/packaging/requirements.py'>, 'pkg_resources.extern.packaging.specifiers': <module 'pkg_resources.extern.packaging.specifiers' from '/usr/lib/python3/dist-packages/pkg_resources/_vendor/packaging/specifiers.py'>, 'pkg_resources.extern.packaging.version': <module 'pkg_resources.extern.packaging.version' from '/usr/lib/python3/dist-packages/pkg_resources/_vendor/packaging/version.py'>, 'pkg_resources.extern.pyparsing': <module 'pkg_resources._vendor.pyparsing' from '/usr/lib/python3/dist-packages/pkg_resources/_vendor/pyparsing.py'>, 'pkg_resources.extern.six': <module 'pkg_resources._vendor.six' from '/usr/lib/python3/dist-packages/pkg_resources/_vendor/six.py'>, 'pkg_resources.extern.six.moves': <module 'pkg_resources._vendor.six.moves' (<pkg_resources._vendor.six._SixMetaPathImporter object at 0x7ff40b0f8208>)>, 'pkg_resources.extern.six.moves.urllib': <module 'pkg_resources._vendor.six.moves.urllib' (<pkg_resources._vendor.six._SixMetaPathImporter object at 0x7ff40b0f8208>)>, 'pkgutil': <module 'pkgutil' from '/usr/lib/python3.5/pkgutil.py'>, 'platform': <module 'platform' from '/usr/lib/python3.5/platform.py'>, 'plistlib': <module 'plistlib' from '/usr/lib/python3.5/plistlib.py'>, 'posix': <module 'posix' (built-in)>, 'posixpath': <module 'posixpath' from '/usr/lib/python3.5/posixpath.py'>, 'pprint': <module 'pprint' from '/usr/lib/python3.5/pprint.py'>, 'profile': <module 'profile' from '/usr/lib/python3.5/profile.py'>, 'prompt_toolkit': <module 'prompt_toolkit' from '/usr/local/lib/python3.5/dist-packages/prompt_toolkit/__init__.py'>, 'prompt_toolkit.application': <module 'prompt_toolkit.application' from '/usr/local/lib/python3.5/dist-packages/prompt_toolkit/application.py'>, 'prompt_toolkit.auto_suggest': <module 'prompt_toolkit.auto_suggest' from '/usr/local/lib/python3.5/dist-packages/prompt_toolkit/auto_suggest.py'>, 'prompt_toolkit.buffer': <module 'prompt_toolkit.buffer' from '/usr/local/lib/python3.5/dist-packages/prompt_toolkit/buffer.py'>, 'prompt_toolkit.buffer_mapping': <module 'prompt_toolkit.buffer_mapping' from '/usr/local/lib/python3.5/dist-packages/prompt_toolkit/buffer_mapping.py'>, 'prompt_toolkit.cache': <module 'prompt_toolkit.cache' from '/usr/local/lib/python3.5/dist-packages/prompt_toolkit/cache.py'>, 'prompt_toolkit.clipboard': <module 'prompt_toolkit.clipboard' from '/usr/local/lib/python3.5/dist-packages/prompt_toolkit/clipboard/__init__.py'>, 'prompt_toolkit.clipboard.base': <module 'prompt_toolkit.clipboard.base' from '/usr/local/lib/python3.5/dist-packages/prompt_toolkit/clipboard/base.py'>, 'prompt_toolkit.clipboard.in_memory': <module 'prompt_toolkit.clipboard.in_memory' from '/usr/local/lib/python3.5/dist-packages/prompt_toolkit/clipboard/in_memory.py'>, 'prompt_toolkit.completion': <module 'prompt_toolkit.completion' from '/usr/local/lib/python3.5/dist-packages/prompt_toolkit/completion.py'>, 'prompt_toolkit.document': <module 'prompt_toolkit.document' from '/usr/local/lib/python3.5/dist-packages/prompt_toolkit/document.py'>, 'prompt_toolkit.enums': <module 'prompt_toolkit.enums' from '/usr/local/lib/python3.5/dist-packages/prompt_toolkit/enums.py'>, 'prompt_toolkit.eventloop': <module 'prompt_toolkit.eventloop' from '/usr/local/lib/python3.5/dist-packages/prompt_toolkit/eventloop/__init__.py'>, 'prompt_toolkit.eventloop.base': <module 'prompt_toolkit.eventloop.base' from '/usr/local/lib/python3.5/dist-packages/prompt_toolkit/eventloop/base.py'>, 'prompt_toolkit.eventloop.callbacks': <module 'prompt_toolkit.eventloop.callbacks' from '/usr/local/lib/python3.5/dist-packages/prompt_toolkit/eventloop/callbacks.py'>, 'prompt_toolkit.filters': <module 'prompt_toolkit.filters' from '/usr/local/lib/python3.5/dist-packages/prompt_toolkit/filters/__init__.py'>, 'prompt_toolkit.filters.base': <module 'prompt_toolkit.filters.base' from '/usr/local/lib/python3.5/dist-packages/prompt_toolkit/filters/base.py'>, 'prompt_toolkit.filters.cli': <module 'prompt_toolkit.filters.cli' from '/usr/local/lib/python3.5/dist-packages/prompt_toolkit/filters/cli.py'>, 'prompt_toolkit.filters.types': <module 'prompt_toolkit.filters.types' from '/usr/local/lib/python3.5/dist-packages/prompt_toolkit/filters/types.py'>, 'prompt_toolkit.filters.utils': <module 'prompt_toolkit.filters.utils' from '/usr/local/lib/python3.5/dist-packages/prompt_toolkit/filters/utils.py'>, 'prompt_toolkit.history': <module 'prompt_toolkit.history' from '/usr/local/lib/python3.5/dist-packages/prompt_toolkit/history.py'>, 'prompt_toolkit.input': <module 'prompt_toolkit.input' from '/usr/local/lib/python3.5/dist-packages/prompt_toolkit/input.py'>, 'prompt_toolkit.interface': <module 'prompt_toolkit.interface' from '/usr/local/lib/python3.5/dist-packages/prompt_toolkit/interface.py'>, 'prompt_toolkit.key_binding': <module 'prompt_toolkit.key_binding' from '/usr/local/lib/python3.5/dist-packages/prompt_toolkit/key_binding/__init__.py'>, 'prompt_toolkit.key_binding.bindings': <module 'prompt_toolkit.key_binding.bindings' from '/usr/local/lib/python3.5/dist-packages/prompt_toolkit/key_binding/bindings/__init__.py'>, 'prompt_toolkit.key_binding.bindings.basic': <module 'prompt_toolkit.key_binding.bindings.basic' from '/usr/local/lib/python3.5/dist-packages/prompt_toolkit/key_binding/bindings/basic.py'>, 'prompt_toolkit.key_binding.bindings.completion': <module 'prompt_toolkit.key_binding.bindings.completion' from '/usr/local/lib/python3.5/dist-packages/prompt_toolkit/key_binding/bindings/completion.py'>, 'prompt_toolkit.key_binding.bindings.emacs': <module 'prompt_toolkit.key_binding.bindings.emacs' from '/usr/local/lib/python3.5/dist-packages/prompt_toolkit/key_binding/bindings/emacs.py'>, 'prompt_toolkit.key_binding.bindings.named_commands': <module 'prompt_toolkit.key_binding.bindings.named_commands' from '/usr/local/lib/python3.5/dist-packages/prompt_toolkit/key_binding/bindings/named_commands.py'>, 'prompt_toolkit.key_binding.bindings.scroll': <module 'prompt_toolkit.key_binding.bindings.scroll' from '/usr/local/lib/python3.5/dist-packages/prompt_toolkit/key_binding/bindings/scroll.py'>, 'prompt_toolkit.key_binding.bindings.vi': <module 'prompt_toolkit.key_binding.bindings.vi' from '/usr/local/lib/python3.5/dist-packages/prompt_toolkit/key_binding/bindings/vi.py'>, 'prompt_toolkit.key_binding.defaults': <module 'prompt_toolkit.key_binding.defaults' from '/usr/local/lib/python3.5/dist-packages/prompt_toolkit/key_binding/defaults.py'>, 'prompt_toolkit.key_binding.digraphs': <module 'prompt_toolkit.key_binding.digraphs' from '/usr/local/lib/python3.5/dist-packages/prompt_toolkit/key_binding/digraphs.py'>, 'prompt_toolkit.key_binding.input_processor': <module 'prompt_toolkit.key_binding.input_processor' from '/usr/local/lib/python3.5/dist-packages/prompt_toolkit/key_binding/input_processor.py'>, 'prompt_toolkit.key_binding.manager': <module 'prompt_toolkit.key_binding.manager' from '/usr/local/lib/python3.5/dist-packages/prompt_toolkit/key_binding/manager.py'>, 'prompt_toolkit.key_binding.registry': <module 'prompt_toolkit.key_binding.registry' from '/usr/local/lib/python3.5/dist-packages/prompt_toolkit/key_binding/registry.py'>, 'prompt_toolkit.key_binding.vi_state': <module 'prompt_toolkit.key_binding.vi_state' from '/usr/local/lib/python3.5/dist-packages/prompt_toolkit/key_binding/vi_state.py'>, 'prompt_toolkit.keys': <module 'prompt_toolkit.keys' from '/usr/local/lib/python3.5/dist-packages/prompt_toolkit/keys.py'>, 'prompt_toolkit.layout': <module 'prompt_toolkit.layout' from '/usr/local/lib/python3.5/dist-packages/prompt_toolkit/layout/__init__.py'>, 'prompt_toolkit.layout.containers': <module 'prompt_toolkit.layout.containers' from '/usr/local/lib/python3.5/dist-packages/prompt_toolkit/layout/containers.py'>, 'prompt_toolkit.layout.controls': <module 'prompt_toolkit.layout.controls' from '/usr/local/lib/python3.5/dist-packages/prompt_toolkit/layout/controls.py'>, 'prompt_toolkit.layout.dimension': <module 'prompt_toolkit.layout.dimension' from '/usr/local/lib/python3.5/dist-packages/prompt_toolkit/layout/dimension.py'>, 'prompt_toolkit.layout.lexers': <module 'prompt_toolkit.layout.lexers' from '/usr/local/lib/python3.5/dist-packages/prompt_toolkit/layout/lexers.py'>, 'prompt_toolkit.layout.margins': <module 'prompt_toolkit.layout.margins' from '/usr/local/lib/python3.5/dist-packages/prompt_toolkit/layout/margins.py'>, 'prompt_toolkit.layout.menus': <module 'prompt_toolkit.layout.menus' from '/usr/local/lib/python3.5/dist-packages/prompt_toolkit/layout/menus.py'>, 'prompt_toolkit.layout.mouse_handlers': <module 'prompt_toolkit.layout.mouse_handlers' from '/usr/local/lib/python3.5/dist-packages/prompt_toolkit/layout/mouse_handlers.py'>, 'prompt_toolkit.layout.processors': <module 'prompt_toolkit.layout.processors' from '/usr/local/lib/python3.5/dist-packages/prompt_toolkit/layout/processors.py'>, 'prompt_toolkit.layout.prompt': <module 'prompt_toolkit.layout.prompt' from '/usr/local/lib/python3.5/dist-packages/prompt_toolkit/layout/prompt.py'>, 'prompt_toolkit.layout.screen': <module 'prompt_toolkit.layout.screen' from '/usr/local/lib/python3.5/dist-packages/prompt_toolkit/layout/screen.py'>, 'prompt_toolkit.layout.toolbars': <module 'prompt_toolkit.layout.toolbars' from '/usr/local/lib/python3.5/dist-packages/prompt_toolkit/layout/toolbars.py'>, 'prompt_toolkit.layout.utils': <module 'prompt_toolkit.layout.utils' from '/usr/local/lib/python3.5/dist-packages/prompt_toolkit/layout/utils.py'>, 'prompt_toolkit.mouse_events': <module 'prompt_toolkit.mouse_events' from '/usr/local/lib/python3.5/dist-packages/prompt_toolkit/mouse_events.py'>, 'prompt_toolkit.output': <module 'prompt_toolkit.output' from '/usr/local/lib/python3.5/dist-packages/prompt_toolkit/output.py'>, 'prompt_toolkit.reactive': <module 'prompt_toolkit.reactive' from '/usr/local/lib/python3.5/dist-packages/prompt_toolkit/reactive.py'>, 'prompt_toolkit.renderer': <module 'prompt_toolkit.renderer' from '/usr/local/lib/python3.5/dist-packages/prompt_toolkit/renderer.py'>, 'prompt_toolkit.search_state': <module 'prompt_toolkit.search_state' from '/usr/local/lib/python3.5/dist-packages/prompt_toolkit/search_state.py'>, 'prompt_toolkit.selection': <module 'prompt_toolkit.selection' from '/usr/local/lib/python3.5/dist-packages/prompt_toolkit/selection.py'>, 'prompt_toolkit.shortcuts': <module 'prompt_toolkit.shortcuts' from '/usr/local/lib/python3.5/dist-packages/prompt_toolkit/shortcuts.py'>, 'prompt_toolkit.styles': <module 'prompt_toolkit.styles' from '/usr/local/lib/python3.5/dist-packages/prompt_toolkit/styles/__init__.py'>, 'prompt_toolkit.styles.base': <module 'prompt_toolkit.styles.base' from '/usr/local/lib/python3.5/dist-packages/prompt_toolkit/styles/base.py'>, 'prompt_toolkit.styles.defaults': <module 'prompt_toolkit.styles.defaults' from '/usr/local/lib/python3.5/dist-packages/prompt_toolkit/styles/defaults.py'>, 'prompt_toolkit.styles.from_dict': <module 'prompt_toolkit.styles.from_dict' from '/usr/local/lib/python3.5/dist-packages/prompt_toolkit/styles/from_dict.py'>, 'prompt_toolkit.styles.from_pygments': <module 'prompt_toolkit.styles.from_pygments' from '/usr/local/lib/python3.5/dist-packages/prompt_toolkit/styles/from_pygments.py'>, 'prompt_toolkit.styles.utils': <module 'prompt_toolkit.styles.utils' from '/usr/local/lib/python3.5/dist-packages/prompt_toolkit/styles/utils.py'>, 'prompt_toolkit.terminal': <module 'prompt_toolkit.terminal' from '/usr/local/lib/python3.5/dist-packages/prompt_toolkit/terminal/__init__.py'>, 'prompt_toolkit.terminal.vt100_input': <module 'prompt_toolkit.terminal.vt100_input' from '/usr/local/lib/python3.5/dist-packages/prompt_toolkit/terminal/vt100_input.py'>, 'prompt_toolkit.terminal.vt100_output': <module 'prompt_toolkit.terminal.vt100_output' from '/usr/local/lib/python3.5/dist-packages/prompt_toolkit/terminal/vt100_output.py'>, 'prompt_toolkit.token': <module 'prompt_toolkit.token' from '/usr/local/lib/python3.5/dist-packages/prompt_toolkit/token.py'>, 'prompt_toolkit.utils': <module 'prompt_toolkit.utils' from '/usr/local/lib/python3.5/dist-packages/prompt_toolkit/utils.py'>, 'prompt_toolkit.validation': <module 'prompt_toolkit.validation' from '/usr/local/lib/python3.5/dist-packages/prompt_toolkit/validation.py'>, 'pstats': <module 'pstats' from '/usr/lib/python3.5/pstats.py'>, 'pty': <module 'pty' from '/usr/lib/python3.5/pty.py'>, 'ptyprocess': <module 'ptyprocess' from '/usr/lib/python3/dist-packages/ptyprocess/__init__.py'>, 'ptyprocess.ptyprocess': <module 'ptyprocess.ptyprocess' from '/usr/lib/python3/dist-packages/ptyprocess/ptyprocess.py'>, 'ptyprocess.util': <module 'ptyprocess.util' from '/usr/lib/python3/dist-packages/ptyprocess/util.py'>, 'pwd': <module 'pwd' (built-in)>, 'pydoc': <module 'pydoc' from '/usr/lib/python3.5/pydoc.py'>, 'pydoc_data': <module 'pydoc_data' from '/usr/lib/python3.5/pydoc_data/__init__.py'>, 'pydoc_data.topics': <module 'pydoc_data.topics' from '/usr/lib/python3.5/pydoc_data/topics.py'>, 'pyexpat': <module 'pyexpat' (built-in)>, 'pyexpat.errors': <module 'pyexpat.errors'>, 'pyexpat.model': <module 'pyexpat.model'>, 'pygments': <module 'pygments' from '/usr/local/lib/python3.5/dist-packages/pygments/__init__.py'>, 'pygments.filter': <module 'pygments.filter' from '/usr/local/lib/python3.5/dist-packages/pygments/filter.py'>, 'pygments.filters': <module 'pygments.filters' from '/usr/local/lib/python3.5/dist-packages/pygments/filters/__init__.py'>, 'pygments.formatter': <module 'pygments.formatter' from '/usr/local/lib/python3.5/dist-packages/pygments/formatter.py'>, 'pygments.formatters': <module 'pygments.formatters' from '/usr/local/lib/python3.5/dist-packages/pygments/formatters/__init__.py'>, 'pygments.formatters._mapping': <module 'pygments.formatters._mapping' from '/usr/local/lib/python3.5/dist-packages/pygments/formatters/_mapping.py'>, 'pygments.formatters.html': <module 'pygments.formatters.html' from '/usr/local/lib/python3.5/dist-packages/pygments/formatters/html.py'>, 'pygments.lexer': <module 'pygments.lexer' from '/usr/local/lib/python3.5/dist-packages/pygments/lexer.py'>, 'pygments.lexers': <module 'pygments.lexers' from '/usr/local/lib/python3.5/dist-packages/pygments/lexers/__init__.py'>, 'pygments.lexers._mapping': <module 'pygments.lexers._mapping' from '/usr/local/lib/python3.5/dist-packages/pygments/lexers/_mapping.py'>, 'pygments.lexers.python': <module 'pygments.lexers.python' from '/usr/local/lib/python3.5/dist-packages/pygments/lexers/python.py'>, 'pygments.modeline': <module 'pygments.modeline' from '/usr/local/lib/python3.5/dist-packages/pygments/modeline.py'>, 'pygments.plugin': <module 'pygments.plugin' from '/usr/local/lib/python3.5/dist-packages/pygments/plugin.py'>, 'pygments.regexopt': <module 'pygments.regexopt' from '/usr/local/lib/python3.5/dist-packages/pygments/regexopt.py'>, 'pygments.style': <module 'pygments.style' from '/usr/local/lib/python3.5/dist-packages/pygments/style.py'>, 'pygments.styles': <module 'pygments.styles' from '/usr/local/lib/python3.5/dist-packages/pygments/styles/__init__.py'>, 'pygments.styles.default': <module 'pygments.styles.default' from '/usr/local/lib/python3.5/dist-packages/pygments/styles/default.py'>, 'pygments.token': <module 'pygments.token' from '/usr/local/lib/python3.5/dist-packages/pygments/token.py'>, 'pygments.unistring': <module 'pygments.unistring' from '/usr/local/lib/python3.5/dist-packages/pygments/unistring.py'>, 'pygments.util': <module 'pygments.util' from '/usr/local/lib/python3.5/dist-packages/pygments/util.py'>, 'queue': <module 'queue' from '/usr/lib/python3.5/queue.py'>, 'quopri': <module 'quopri' from '/usr/lib/python3.5/quopri.py'>, 'random': <module 'random' from '/usr/lib/python3.5/random.py'>, 're': <module 're' from '/usr/lib/python3.5/re.py'>, 'reprlib': <module 'reprlib' from '/usr/lib/python3.5/reprlib.py'>, 'resource': <module 'resource' from '/usr/lib/python3.5/lib-dynload/resource.cpython-35m-x86_64-linux-gnu.so'>, 'runpy': <module 'runpy' from '/usr/lib/python3.5/runpy.py'>, 'select': <module 'select' (built-in)>, 'selectors': <module 'selectors' from '/usr/lib/python3.5/selectors.py'>, 'shlex': <module 'shlex' from '/usr/lib/python3.5/shlex.py'>, 'shutil': <module 'shutil' from '/usr/lib/python3.5/shutil.py'>, 'signal': <module 'signal' from '/usr/lib/python3.5/signal.py'>, 'simplegeneric': <module 'simplegeneric' from '/usr/local/lib/python3.5/dist-packages/simplegeneric.py'>, 'site': <module 'site' from '/usr/lib/python3.5/site.py'>, 'sitecustomize': <module 'sitecustomize' from '/usr/lib/python3.5/sitecustomize.py'>, 'six': <module 'six' from '/usr/lib/python3/dist-packages/six.py'>, 'six.moves': <module 'six.moves' (<six._SixMetaPathImporter object at 0x7ff40cab9898>)>, 'socket': <module 'socket' from '/usr/lib/python3.5/socket.py'>, 'sqlite3': <module 'sqlite3' from '/usr/lib/python3.5/sqlite3/__init__.py'>, 'sqlite3.dbapi2': <module 'sqlite3.dbapi2' from '/usr/lib/python3.5/sqlite3/dbapi2.py'>, 'sre_compile': <module 'sre_compile' from '/usr/lib/python3.5/sre_compile.py'>, 'sre_constants': <module 'sre_constants' from '/usr/lib/python3.5/sre_constants.py'>, 'sre_parse': <module 'sre_parse' from '/usr/lib/python3.5/sre_parse.py'>, 'ssl': <module 'ssl' from '/usr/lib/python3.5/ssl.py'>, 'stat': <module 'stat' from '/usr/lib/python3.5/stat.py'>, 'storemagic': <module 'storemagic' from '/usr/local/lib/python3.5/dist-packages/IPython/extensions/storemagic.py'>, 'string': <module 'string' from '/usr/lib/python3.5/string.py'>, 'struct': <module 'struct' from '/usr/lib/python3.5/struct.py'>, 'subprocess': <module 'subprocess' from '/usr/lib/python3.5/subprocess.py'>, 'sys': <module 'sys' (built-in)>, 'sysconfig': <module 'sysconfig' from '/usr/lib/python3.5/sysconfig.py'>, 'tarfile': <module 'tarfile' from '/usr/lib/python3.5/tarfile.py'>, 'tempfile': <module 'tempfile' from '/usr/lib/python3.5/tempfile.py'>, 'termios': <module 'termios' from '/usr/lib/python3.5/lib-dynload/termios.cpython-35m-x86_64-linux-gnu.so'>, 'textwrap': <module 'textwrap' from '/usr/lib/python3.5/textwrap.py'>, 'threading': <module 'threading' from '/usr/lib/python3.5/threading.py'>, 'time': <module 'time' (built-in)>, 'timeit': <module 'timeit' from '/usr/lib/python3.5/timeit.py'>, 'token': <module 'token' from '/usr/lib/python3.5/token.py'>, 'tokenize': <module 'tokenize' from '/usr/lib/python3.5/tokenize.py'>, 'tornado': <module 'tornado' from '/usr/local/lib/python3.5/dist-packages/tornado/__init__.py'>, 'tornado.concurrent': <module 'tornado.concurrent' from '/usr/local/lib/python3.5/dist-packages/tornado/concurrent.py'>, 'tornado.escape': <module 'tornado.escape' from '/usr/local/lib/python3.5/dist-packages/tornado/escape.py'>, 'tornado.gen': <module 'tornado.gen' from '/usr/local/lib/python3.5/dist-packages/tornado/gen.py'>, 'tornado.ioloop': <module 'tornado.ioloop' from '/usr/local/lib/python3.5/dist-packages/tornado/ioloop.py'>, 'tornado.log': <module 'tornado.log' from '/usr/local/lib/python3.5/dist-packages/tornado/log.py'>, 'tornado.platform': <module 'tornado.platform' from '/usr/local/lib/python3.5/dist-packages/tornado/platform/__init__.py'>, 'tornado.platform.asyncio': <module 'tornado.platform.asyncio' from '/usr/local/lib/python3.5/dist-packages/tornado/platform/asyncio.py'>, 'tornado.platform.auto': <module 'tornado.platform.auto' from '/usr/local/lib/python3.5/dist-packages/tornado/platform/auto.py'>, 'tornado.platform.common': <module 'tornado.platform.common' from '/usr/local/lib/python3.5/dist-packages/tornado/platform/common.py'>, 'tornado.platform.interface': <module 'tornado.platform.interface' from '/usr/local/lib/python3.5/dist-packages/tornado/platform/interface.py'>, 'tornado.platform.posix': <module 'tornado.platform.posix' from '/usr/local/lib/python3.5/dist-packages/tornado/platform/posix.py'>, 'tornado.stack_context': <module 'tornado.stack_context' from '/usr/local/lib/python3.5/dist-packages/tornado/stack_context.py'>, 'tornado.util': <module 'tornado.util' from '/usr/local/lib/python3.5/dist-packages/tornado/util.py'>, 'traceback': <module 'traceback' from '/usr/lib/python3.5/traceback.py'>, 'traitlets': <module 'traitlets' from '/usr/local/lib/python3.5/dist-packages/traitlets/__init__.py'>, 'traitlets._version': <module 'traitlets._version' from '/usr/local/lib/python3.5/dist-packages/traitlets/_version.py'>, 'traitlets.config': <module 'traitlets.config' from '/usr/local/lib/python3.5/dist-packages/traitlets/config/__init__.py'>, 'traitlets.config.application': <module 'traitlets.config.application' from '/usr/local/lib/python3.5/dist-packages/traitlets/config/application.py'>, 'traitlets.config.configurable': <module 'traitlets.config.configurable' from '/usr/local/lib/python3.5/dist-packages/traitlets/config/configurable.py'>, 'traitlets.config.loader': <module 'traitlets.config.loader' from '/usr/local/lib/python3.5/dist-packages/traitlets/config/loader.py'>, 'traitlets.log': <module 'traitlets.log' from '/usr/local/lib/python3.5/dist-packages/traitlets/log.py'>, 'traitlets.traitlets': <module 'traitlets.traitlets' from '/usr/local/lib/python3.5/dist-packages/traitlets/traitlets.py'>, 'traitlets.utils': <module 'traitlets.utils' from '/usr/local/lib/python3.5/dist-packages/traitlets/utils/__init__.py'>, 'traitlets.utils.bunch': <module 'traitlets.utils.bunch' from '/usr/local/lib/python3.5/dist-packages/traitlets/utils/bunch.py'>, 'traitlets.utils.getargspec': <module 'traitlets.utils.getargspec' from '/usr/local/lib/python3.5/dist-packages/traitlets/utils/getargspec.py'>, 'traitlets.utils.importstring': <module 'traitlets.utils.importstring' from '/usr/local/lib/python3.5/dist-packages/traitlets/utils/importstring.py'>, 'traitlets.utils.sentinel': <module 'traitlets.utils.sentinel' from '/usr/local/lib/python3.5/dist-packages/traitlets/utils/sentinel.py'>, 'tty': <module 'tty' from '/usr/lib/python3.5/tty.py'>, 'types': <module 'types' from '/usr/lib/python3.5/types.py'>, 'typing': <module 'typing' from '/usr/lib/python3.5/typing.py'>, 'typing.io': typing.io, 'typing.re': typing.re, 'unicodedata': <module 'unicodedata' (built-in)>, 'urllib': <module 'urllib' from '/usr/lib/python3.5/urllib/__init__.py'>, 'urllib.parse': <module 'urllib.parse' from '/usr/lib/python3.5/urllib/parse.py'>, 'uu': <module 'uu' from '/usr/lib/python3.5/uu.py'>, 'uuid': <module 'uuid' from '/usr/lib/python3.5/uuid.py'>, 'warnings': <module 'warnings' from '/usr/lib/python3.5/warnings.py'>, 'wcwidth': <module 'wcwidth' from '/usr/local/lib/python3.5/dist-packages/wcwidth/__init__.py'>, 'wcwidth.table_wide': <module 'wcwidth.table_wide' from '/usr/local/lib/python3.5/dist-packages/wcwidth/table_wide.py'>, 'wcwidth.table_zero': <module 'wcwidth.table_zero' from '/usr/local/lib/python3.5/dist-packages/wcwidth/table_zero.py'>, 'wcwidth.wcwidth': <module 'wcwidth.wcwidth' from '/usr/local/lib/python3.5/dist-packages/wcwidth/wcwidth.py'>, 'weakref': <module 'weakref' from '/usr/lib/python3.5/weakref.py'>, 'xml': <module 'xml' from '/usr/lib/python3.5/xml/__init__.py'>, 'xml.parsers': <module 'xml.parsers' from '/usr/lib/python3.5/xml/parsers/__init__.py'>, 'xml.parsers.expat': <module 'xml.parsers.expat' from '/usr/lib/python3.5/xml/parsers/expat.py'>, 'xml.parsers.expat.errors': <module 'pyexpat.errors'>, 'xml.parsers.expat.model': <module 'pyexpat.model'>, 'zipfile': <module 'zipfile' from '/usr/lib/python3.5/zipfile.py'>, 'zipimport': <module 'zipimport' (built-in)>, 'zlib': <module 'zlib' (built-in)>, 'zmq': <module 'zmq' from '/usr/local/lib/python3.5/dist-packages/zmq/__init__.py'>, 'zmq.backend': <module 'zmq.backend' from '/usr/local/lib/python3.5/dist-packages/zmq/backend/__init__.py'>, 'zmq.backend.cython': <module 'zmq.backend.cython' from '/usr/local/lib/python3.5/dist-packages/zmq/backend/cython/__init__.py'>, 'zmq.backend.cython._device': <module 'zmq.backend.cython._device' from '/usr/local/lib/python3.5/dist-packages/zmq/backend/cython/_device.cpython-35m-x86_64-linux-gnu.so'>, 'zmq.backend.cython._poll': <module 'zmq.backend.cython._poll' from '/usr/local/lib/python3.5/dist-packages/zmq/backend/cython/_poll.cpython-35m-x86_64-linux-gnu.so'>, 'zmq.backend.cython._version': <module 'zmq.backend.cython._version' from '/usr/local/lib/python3.5/dist-packages/zmq/backend/cython/_version.cpython-35m-x86_64-linux-gnu.so'>, 'zmq.backend.cython.constants': <module 'zmq.backend.cython.constants' from '/usr/local/lib/python3.5/dist-packages/zmq/backend/cython/constants.cpython-35m-x86_64-linux-gnu.so'>, 'zmq.backend.cython.context': <module 'zmq.backend.cython.context' from '/usr/local/lib/python3.5/dist-packages/zmq/backend/cython/context.cpython-35m-x86_64-linux-gnu.so'>, 'zmq.backend.cython.error': <module 'zmq.backend.cython.error' from '/usr/local/lib/python3.5/dist-packages/zmq/backend/cython/error.cpython-35m-x86_64-linux-gnu.so'>, 'zmq.backend.cython.message': <module 'zmq.backend.cython.message' from '/usr/local/lib/python3.5/dist-packages/zmq/backend/cython/message.cpython-35m-x86_64-linux-gnu.so'>, 'zmq.backend.cython.socket': <module 'zmq.backend.cython.socket' from '/usr/local/lib/python3.5/dist-packages/zmq/backend/cython/socket.cpython-35m-x86_64-linux-gnu.so'>, 'zmq.backend.cython.utils': <module 'zmq.backend.cython.utils' from '/usr/local/lib/python3.5/dist-packages/zmq/backend/cython/utils.cpython-35m-x86_64-linux-gnu.so'>, 'zmq.backend.select': <module 'zmq.backend.select' from '/usr/local/lib/python3.5/dist-packages/zmq/backend/select.py'>, 'zmq.error': <module 'zmq.error' from '/usr/local/lib/python3.5/dist-packages/zmq/error.py'>, 'zmq.eventloop': <module 'zmq.eventloop' from '/usr/local/lib/python3.5/dist-packages/zmq/eventloop/__init__.py'>, 'zmq.eventloop.ioloop': <module 'zmq.eventloop.ioloop' from '/usr/local/lib/python3.5/dist-packages/zmq/eventloop/ioloop.py'>, 'zmq.eventloop.zmqstream': <module 'zmq.eventloop.zmqstream' from '/usr/local/lib/python3.5/dist-packages/zmq/eventloop/zmqstream.py'>, 'zmq.sugar': <module 'zmq.sugar' from '/usr/local/lib/python3.5/dist-packages/zmq/sugar/__init__.py'>, 'zmq.sugar.attrsettr': <module 'zmq.sugar.attrsettr' from '/usr/local/lib/python3.5/dist-packages/zmq/sugar/attrsettr.py'>, 'zmq.sugar.constants': <module 'zmq.sugar.constants' from '/usr/local/lib/python3.5/dist-packages/zmq/sugar/constants.py'>, 'zmq.sugar.context': <module 'zmq.sugar.context' from '/usr/local/lib/python3.5/dist-packages/zmq/sugar/context.py'>, 'zmq.sugar.frame': <module 'zmq.sugar.frame' from '/usr/local/lib/python3.5/dist-packages/zmq/sugar/frame.py'>, 'zmq.sugar.poll': <module 'zmq.sugar.poll' from '/usr/local/lib/python3.5/dist-packages/zmq/sugar/poll.py'>, 'zmq.sugar.socket': <module 'zmq.sugar.socket' from '/usr/local/lib/python3.5/dist-packages/zmq/sugar/socket.py'>, 'zmq.sugar.stopwatch': <module 'zmq.sugar.stopwatch' from '/usr/local/lib/python3.5/dist-packages/zmq/sugar/stopwatch.py'>, 'zmq.sugar.tracker': <module 'zmq.sugar.tracker' from '/usr/local/lib/python3.5/dist-packages/zmq/sugar/tracker.py'>, 'zmq.sugar.version': <module 'zmq.sugar.version' from '/usr/local/lib/python3.5/dist-packages/zmq/sugar/version.py'>, 'zmq.utils': <module 'zmq.utils' from '/usr/local/lib/python3.5/dist-packages/zmq/utils/__init__.py'>, 'zmq.utils.constant_names': <module 'zmq.utils.constant_names' from '/usr/local/lib/python3.5/dist-packages/zmq/utils/constant_names.py'>, 'zmq.utils.jsonapi': <module 'zmq.utils.jsonapi' from '/usr/local/lib/python3.5/dist-packages/zmq/utils/jsonapi.py'>, 'zmq.utils.strtypes': <module 'zmq.utils.strtypes' from '/usr/local/lib/python3.5/dist-packages/zmq/utils/strtypes.py'>}
Si on se demande comment il se fait que c'est tel module qui a été chargé, on peut savoir quels
sont les chemins qu'utilise Python pour trouver les modules avec path
:
sys.path
['', '/usr/lib/python35.zip', '/usr/lib/python3.5', '/usr/lib/python3.5/plat-x86_64-linux-gnu', '/usr/lib/python3.5/lib-dynload', '/usr/local/lib/python3.5/dist-packages', '/usr/lib/python3/dist-packages', '/usr/local/lib/python3.5/dist-packages/IPython/extensions', '/home/ricou/.ipython']
Informations sur le stockage des données¶
sys
permet d'avoir des informations sur les réels et les entiers. Par exemple float_info.dig
indique la précision des réels à savoir qu'on a 15 chiffres significatifs.
sys.float_info
sys.float_info(max=1.7976931348623157e+308, max_exp=1024, max_10_exp=308, min=2.2250738585072014e-308, min_exp=-1021, min_10_exp=-307, dig=15, mant_dig=53, epsilon=2.220446049250313e-16, radix=2, rounds=1)
a = 1234567890.123456789012345 # 25 significant digits
a # just prints 17 digits, so is it 17 significant digits?
1234567890.1234567
a = 1234567890123456.7 # 17 significant digits
a # but the last one is wrong
1234567890123456.8
Il semble donc qu'on ne puisse compter que sur 16 chiffres significatifs mais peut-être que d'autres expériences vicieuses montrent qu'en fait il n'y a que 15 chiffres significatifs comme annoncé.
Pour les entiers int
, il n'y a pas de limite :
n = 11**40
n
452592555681759518058893560348969204658401
Bien sûr la taille pour stocker un entier augmente avec cet entier (ce qui n'est pas le cas pour les réels qui sont limités).
print('size of a: %d bytes' % sys.getsizeof(a))
b = 1000000 * a
print('size of b: %d bytes' % sys.getsizeof(b))
print('size of n: %d bytes' % sys.getsizeof(n))
p = 1000000 * n
print('size of p: %d bytes' % sys.getsizeof(p))
size of a: 24 bytes size of b: 24 bytes size of n: 44 bytes size of p: 48 bytes
getsizeof
permet donc de savoir combien d'octets utilise une variable y compris complexe.
sys.getsizeof({'tomate':33, 'prix':3.23})
288
Le piège¶
Si vous avez l'habitude, vous devez trouver que 24 octets pour stocker un réel c'est beaucoup et vous avez raison. En fait c'est objet réel qui est stocké. Sur les 24 octets beaucoup de place est pour la structure de l'objet et non pas la valeur du réel. On s'en rend bien compte lorsqu'on fait un tableau de réels :
tab = [i+i/10 for i in range(100)]
sys.getsizeof(tab)
912
On descend à 9,12 octets par case ce qui laisse penser que la zone pour stocker le réel est de 8 octets comme pour tout réel en double précision.
Autres fonctions¶
sys
dispose d'autres fonctions qui permettent d'en savoir plus sur l'exécution de son code
voire de contrôler les limites de l'interpréteur (par exemple le nombre maximum de récursions autorisées).
On laissera le passionné regarder la documentation pour
plus en savoir plus sur la mécanique de l'interpréteur Python.
{{ PreviousNext("04 - Generators.ipynb", "11 datetime.ipynb")}}