Python 中的标准模块 sys
提供了 Python 脚本和其运行环境交互的方法。
import sys
命令行参数
sys.argv
实现从程序外部向程序传递参数。其返回值是一个列表,其中索引 0
为 Python 脚本名,后面的则为命令行参数。
sys.argv
['/home/fourier/miniconda3/lib/python3.9/site-packages/ipykernel_launcher.py',
'--ip=127.0.0.1',
'--stdin=9008',
'--control=9006',
'--hb=9005',
'--Session.signature_scheme="hmac-sha256"',
'--Session.key=b"0007991b-f745-40b2-81b8-b21740691ebb"',
'--shell=9007',
'--transport="tcp"',
'--iopub=9009',
'--f=/tmp/tmp-9380Gwr21itOA1Pi.json']
这里是在 iPython kernel 里运行的,可以看到输出了很多的命令行参数。
处理命令行参数
Python 提供了 getopt
包来专门处理命令行参数。
from getopt import getopt
现在有一个 Python 脚本如下:
! cat src/argv.py
import sys
from getopt import getopt
try:
opts, args = getopt(sys.argv[1:], '-h-i:-o', ['help', 'ifile=', 'ofile='])
print(opts, args)
for opt, arg in opts:
if opt in ('-h', '--help'):
print('usage: argv.py -i <inputfile> -o <outputfile>')
elif opt in ('-i', '--ifile'):
input_file = arg
print('input file:', input_file)
elif opt in ('-o', '--ofile'):
output_file = arg
print('output_file:', output_file)
except getopt.GetoptError:
sys.exit(-1)
getopt
方法接受三个参数:
args
: 命令行参数列表,按空格切分开。实参一般为sys.argv[1:]
,表示除脚本路径外所有的参数。shortopts
: 短命令行参数,这是必须要提供的。longopts
: 长命令行参数,这是可选项。
下面用几个具体的例子来说明 getopt
的用法。
-i:
中的 :
表示该参数必须提供,否则会抛出异常。
%run src/argv.py -i foo.txt
[('-i', 'foo.txt')] []
input file: foo.txt
如果有长命令行参数,原则上最好和短命令行参数一一对应。长命令行参数中如果有 =
表示需要提供值,否则不需要提供值。
%run src/argv.py --help
[('--help', '')] []
usage: argv.py -i <inputfile> -o <outputfile>
%run src/argv.py --ifile=foo.txt --ofile=foo.log
[('--ifile', 'foo.txt'), ('--ofile', 'foo.log')] []
input file: foo.txt
output_file: foo.log
模块与路径
sys.modules
是一个全局字典,该字典是 Python 启动后就加载在内存中。每当程序员导入新的模块,sys.modules
将自动记录该模块。
当第二次再导入该模块时,Python 会直接到字典中查找,从而加快了程序运行的速度。它拥有字典所拥有的一切方法。
sys.modules
{'sys': <module 'sys' (built-in)>,
'builtins': <module 'builtins' (built-in)>,
'_frozen_importlib': <module 'importlib._bootstrap' (frozen)>,
'_imp': <module '_imp' (built-in)>,
'_thread': <module '_thread' (built-in)>,
'_warnings': <module '_warnings' (built-in)>,
'_weakref': <module '_weakref' (built-in)>,
'_io': <module 'io' (built-in)>,
'marshal': <module 'marshal' (built-in)>,
'posix': <module 'posix' (built-in)>,
'_frozen_importlib_external': <module 'importlib._bootstrap_external' (frozen)>,
'time': <module 'time' (built-in)>,
'zipimport': <module 'zipimport' (frozen)>,
'_codecs': <module '_codecs' (built-in)>,
'codecs': <module 'codecs' from '/home/fourier/miniconda3/lib/python3.9/codecs.py'>,
'encodings.aliases': <module 'encodings.aliases' from '/home/fourier/miniconda3/lib/python3.9/encodings/aliases.py'>,
'encodings': <module 'encodings' from '/home/fourier/miniconda3/lib/python3.9/encodings/__init__.py'>,
'encodings.utf_8': <module 'encodings.utf_8' from '/home/fourier/miniconda3/lib/python3.9/encodings/utf_8.py'>,
'_signal': <module '_signal' (built-in)>,
'encodings.latin_1': <module 'encodings.latin_1' from '/home/fourier/miniconda3/lib/python3.9/encodings/latin_1.py'>,
'_abc': <module '_abc' (built-in)>,
'abc': <module 'abc' from '/home/fourier/miniconda3/lib/python3.9/abc.py'>,
'io': <module 'io' from '/home/fourier/miniconda3/lib/python3.9/io.py'>,
'__main__': <module '__main__'>,
'_stat': <module '_stat' (built-in)>,
'stat': <module 'stat' from '/home/fourier/miniconda3/lib/python3.9/stat.py'>,
'_collections_abc': <module '_collections_abc' from '/home/fourier/miniconda3/lib/python3.9/_collections_abc.py'>,
'genericpath': <module 'genericpath' from '/home/fourier/miniconda3/lib/python3.9/genericpath.py'>,
'posixpath': <module 'posixpath' from '/home/fourier/miniconda3/lib/python3.9/posixpath.py'>,
'os.path': <module 'posixpath' from '/home/fourier/miniconda3/lib/python3.9/posixpath.py'>,
'os': <module 'os' from '/home/fourier/miniconda3/lib/python3.9/os.py'>,
'_sitebuiltins': <module '_sitebuiltins' from '/home/fourier/miniconda3/lib/python3.9/_sitebuiltins.py'>,
'_locale': <module '_locale' (built-in)>,
'_bootlocale': <module '_bootlocale' from '/home/fourier/miniconda3/lib/python3.9/_bootlocale.py'>,
'site': <module 'site' from '/home/fourier/miniconda3/lib/python3.9/site.py'>,
'importlib._bootstrap': <module 'importlib._bootstrap' (frozen)>,
'importlib._bootstrap_external': <module 'importlib._bootstrap_external' (frozen)>,
'types': <module 'types' from '/home/fourier/miniconda3/lib/python3.9/types.py'>,
'warnings': <module 'warnings' from '/home/fourier/miniconda3/lib/python3.9/warnings.py'>,
'importlib': <module 'importlib' from '/home/fourier/miniconda3/lib/python3.9/importlib/__init__.py'>,
'importlib.machinery': <module 'importlib.machinery' from '/home/fourier/miniconda3/lib/python3.9/importlib/machinery.py'>,
'_heapq': <module '_heapq' from '/home/fourier/miniconda3/lib/python3.9/lib-dynload/_heapq.cpython-39-x86_64-linux-gnu.so'>,
'heapq': <module 'heapq' from '/home/fourier/miniconda3/lib/python3.9/heapq.py'>,
'itertools': <module 'itertools' (built-in)>,
'keyword': <module 'keyword' from '/home/fourier/miniconda3/lib/python3.9/keyword.py'>,
'_operator': <module '_operator' (built-in)>,
'operator': <module 'operator' from '/home/fourier/miniconda3/lib/python3.9/operator.py'>,
'reprlib': <module 'reprlib' from '/home/fourier/miniconda3/lib/python3.9/reprlib.py'>,
'_collections': <module '_collections' (built-in)>,
'collections': <module 'collections' from '/home/fourier/miniconda3/lib/python3.9/collections/__init__.py'>,
'collections.abc': <module 'collections.abc' from '/home/fourier/miniconda3/lib/python3.9/collections/abc.py'>,
'_functools': <module '_functools' (built-in)>,
'functools': <module 'functools' from '/home/fourier/miniconda3/lib/python3.9/functools.py'>,
'contextlib': <module 'contextlib' from '/home/fourier/miniconda3/lib/python3.9/contextlib.py'>,
'enum': <module 'enum' from '/home/fourier/miniconda3/lib/python3.9/enum.py'>,
'_sre': <module '_sre' (built-in)>,
'sre_constants': <module 'sre_constants' from '/home/fourier/miniconda3/lib/python3.9/sre_constants.py'>,
'sre_parse': <module 'sre_parse' from '/home/fourier/miniconda3/lib/python3.9/sre_parse.py'>,
'sre_compile': <module 'sre_compile' from '/home/fourier/miniconda3/lib/python3.9/sre_compile.py'>,
'copyreg': <module 'copyreg' from '/home/fourier/miniconda3/lib/python3.9/copyreg.py'>,
're': <module 're' from '/home/fourier/miniconda3/lib/python3.9/re.py'>,
'typing.io': typing.io,
'typing.re': typing.re,
'typing': <module 'typing' from '/home/fourier/miniconda3/lib/python3.9/typing.py'>,
'importlib.abc': <module 'importlib.abc' from '/home/fourier/miniconda3/lib/python3.9/importlib/abc.py'>,
'importlib.util': <module 'importlib.util' from '/home/fourier/miniconda3/lib/python3.9/importlib/util.py'>,
'_weakrefset': <module '_weakrefset' from '/home/fourier/miniconda3/lib/python3.9/_weakrefset.py'>,
'weakref': <module 'weakref' from '/home/fourier/miniconda3/lib/python3.9/weakref.py'>,
'pkgutil': <module 'pkgutil' from '/home/fourier/miniconda3/lib/python3.9/pkgutil.py'>,
'runpy': <module 'runpy' from '/home/fourier/miniconda3/lib/python3.9/runpy.py'>,
'ipykernel._version': <module 'ipykernel._version' from '/home/fourier/miniconda3/lib/python3.9/site-packages/ipykernel/_version.py'>,
'_json': <module '_json' from '/home/fourier/miniconda3/lib/python3.9/lib-dynload/_json.cpython-39-x86_64-linux-gnu.so'>,
'json.scanner': <module 'json.scanner' from '/home/fourier/miniconda3/lib/python3.9/json/scanner.py'>,
'json.decoder': <module 'json.decoder' from '/home/fourier/miniconda3/lib/python3.9/json/decoder.py'>,
'json.encoder': <module 'json.encoder' from '/home/fourier/miniconda3/lib/python3.9/json/encoder.py'>,
'json': <module 'json' from '/home/fourier/miniconda3/lib/python3.9/json/__init__.py'>,
'errno': <module 'errno' (built-in)>,
'signal': <module 'signal' from '/home/fourier/miniconda3/lib/python3.9/signal.py'>,
'threading': <module 'threading' from '/home/fourier/miniconda3/lib/python3.9/threading.py'>,
'pwd': <module 'pwd' (built-in)>,
'grp': <module 'grp' from '/home/fourier/miniconda3/lib/python3.9/lib-dynload/grp.cpython-39-x86_64-linux-gnu.so'>,
'_posixsubprocess': <module '_posixsubprocess' from '/home/fourier/miniconda3/lib/python3.9/lib-dynload/_posixsubprocess.cpython-39-x86_64-linux-gnu.so'>,
'select': <module 'select' from '/home/fourier/miniconda3/lib/python3.9/lib-dynload/select.cpython-39-x86_64-linux-gnu.so'>,
'math': <module 'math' from '/home/fourier/miniconda3/lib/python3.9/lib-dynload/math.cpython-39-x86_64-linux-gnu.so'>,
'selectors': <module 'selectors' from '/home/fourier/miniconda3/lib/python3.9/selectors.py'>,
'subprocess': <module 'subprocess' from '/home/fourier/miniconda3/lib/python3.9/subprocess.py'>,
'IPython.core': <module 'IPython.core' from '/home/fourier/miniconda3/lib/python3.9/site-packages/IPython/core/__init__.py'>,
'IPython.core.getipython': <module 'IPython.core.getipython' from '/home/fourier/miniconda3/lib/python3.9/site-packages/IPython/core/getipython.py'>,
'IPython.core.release': <module 'IPython.core.release' from '/home/fourier/miniconda3/lib/python3.9/site-packages/IPython/core/release.py'>,
'atexit': <module 'atexit' (built-in)>,
'copy': <module 'copy' from '/home/fourier/miniconda3/lib/python3.9/copy.py'>,
'fnmatch': <module 'fnmatch' from '/home/fourier/miniconda3/lib/python3.9/fnmatch.py'>,
'glob': <module 'glob' from '/home/fourier/miniconda3/lib/python3.9/glob.py'>,
'token': <module 'token' from '/home/fourier/miniconda3/lib/python3.9/token.py'>,
'tokenize': <module 'tokenize' from '/home/fourier/miniconda3/lib/python3.9/tokenize.py'>,
'linecache': <module 'linecache' from '/home/fourier/miniconda3/lib/python3.9/linecache.py'>,
'traceback': <module 'traceback' from '/home/fourier/miniconda3/lib/python3.9/traceback.py'>,
'_string': <module '_string' (built-in)>,
'string': <module 'string' from '/home/fourier/miniconda3/lib/python3.9/string.py'>,
'logging': <module 'logging' from '/home/fourier/miniconda3/lib/python3.9/logging/__init__.py'>,
'zlib': <module 'zlib' from '/home/fourier/miniconda3/lib/python3.9/lib-dynload/zlib.cpython-39-x86_64-linux-gnu.so'>,
'_compression': <module '_compression' from '/home/fourier/miniconda3/lib/python3.9/_compression.py'>,
'_bz2': <module '_bz2' from '/home/fourier/miniconda3/lib/python3.9/lib-dynload/_bz2.cpython-39-x86_64-linux-gnu.so'>,
'bz2': <module 'bz2' from '/home/fourier/miniconda3/lib/python3.9/bz2.py'>,
'_lzma': <module '_lzma' from '/home/fourier/miniconda3/lib/python3.9/lib-dynload/_lzma.cpython-39-x86_64-linux-gnu.so'>,
'lzma': <module 'lzma' from '/home/fourier/miniconda3/lib/python3.9/lzma.py'>,
'shutil': <module 'shutil' from '/home/fourier/miniconda3/lib/python3.9/shutil.py'>,
'_ast': <module '_ast' (built-in)>,
'ast': <module 'ast' from '/home/fourier/miniconda3/lib/python3.9/ast.py'>,
'_opcode': <module '_opcode' from '/home/fourier/miniconda3/lib/python3.9/lib-dynload/_opcode.cpython-39-x86_64-linux-gnu.so'>,
'opcode': <module 'opcode' from '/home/fourier/miniconda3/lib/python3.9/opcode.py'>,
'dis': <module 'dis' from '/home/fourier/miniconda3/lib/python3.9/dis.py'>,
'inspect': <module 'inspect' from '/home/fourier/miniconda3/lib/python3.9/inspect.py'>,
'traitlets.utils': <module 'traitlets.utils' from '/home/fourier/miniconda3/lib/python3.9/site-packages/traitlets/utils/__init__.py'>,
'traitlets.utils.getargspec': <module 'traitlets.utils.getargspec' from '/home/fourier/miniconda3/lib/python3.9/site-packages/traitlets/utils/getargspec.py'>,
'traitlets.utils.importstring': <module 'traitlets.utils.importstring' from '/home/fourier/miniconda3/lib/python3.9/site-packages/traitlets/utils/importstring.py'>,
'traitlets.utils.sentinel': <module 'traitlets.utils.sentinel' from '/home/fourier/miniconda3/lib/python3.9/site-packages/traitlets/utils/sentinel.py'>,
'traitlets.utils.bunch': <module 'traitlets.utils.bunch' from '/home/fourier/miniconda3/lib/python3.9/site-packages/traitlets/utils/bunch.py'>,
'traitlets.utils.descriptions': <module 'traitlets.utils.descriptions' from '/home/fourier/miniconda3/lib/python3.9/site-packages/traitlets/utils/descriptions.py'>,
'traitlets.traitlets': <module 'traitlets.traitlets' from '/home/fourier/miniconda3/lib/python3.9/site-packages/traitlets/traitlets.py'>,
'traitlets.utils.decorators': <module 'traitlets.utils.decorators' from '/home/fourier/miniconda3/lib/python3.9/site-packages/traitlets/utils/decorators.py'>,
'traitlets._version': <module 'traitlets._version' from '/home/fourier/miniconda3/lib/python3.9/site-packages/traitlets/_version.py'>,
'traitlets': <module 'traitlets' from '/home/fourier/miniconda3/lib/python3.9/site-packages/traitlets/__init__.py'>,
'pprint': <module 'pprint' from '/home/fourier/miniconda3/lib/python3.9/pprint.py'>,
'gettext': <module 'gettext' from '/home/fourier/miniconda3/lib/python3.9/gettext.py'>,
'argparse': <module 'argparse' from '/home/fourier/miniconda3/lib/python3.9/argparse.py'>,
'traitlets.config.loader': <module 'traitlets.config.loader' from '/home/fourier/miniconda3/lib/python3.9/site-packages/traitlets/config/loader.py'>,
'textwrap': <module 'textwrap' from '/home/fourier/miniconda3/lib/python3.9/textwrap.py'>,
'traitlets.utils.text': <module 'traitlets.utils.text' from '/home/fourier/miniconda3/lib/python3.9/site-packages/traitlets/utils/text.py'>,
'traitlets.config.configurable': <module 'traitlets.config.configurable' from '/home/fourier/miniconda3/lib/python3.9/site-packages/traitlets/config/configurable.py'>,
'traitlets.config.application': <module 'traitlets.config.application' from '/home/fourier/miniconda3/lib/python3.9/site-packages/traitlets/config/application.py'>,
'traitlets.config': <module 'traitlets.config' from '/home/fourier/miniconda3/lib/python3.9/site-packages/traitlets/config/__init__.py'>,
'platform': <module 'platform' from '/home/fourier/miniconda3/lib/python3.9/platform.py'>,
'sysconfig': <module 'sysconfig' from '/home/fourier/miniconda3/lib/python3.9/sysconfig.py'>,
'urllib': <module 'urllib' from '/home/fourier/miniconda3/lib/python3.9/urllib/__init__.py'>,
'urllib.parse': <module 'urllib.parse' from '/home/fourier/miniconda3/lib/python3.9/urllib/parse.py'>,
'_sysconfigdata__linux_x86_64-linux-gnu': <module '_sysconfigdata__linux_x86_64-linux-gnu' from '/home/fourier/miniconda3/lib/python3.9/_sysconfigdata__linux_x86_64-linux-gnu.py'>,
'pydoc': <module 'pydoc' from '/home/fourier/miniconda3/lib/python3.9/pydoc.py'>,
'bdb': <module 'bdb' from '/home/fourier/miniconda3/lib/python3.9/bdb.py'>,
'IPython.utils': <module 'IPython.utils' from '/home/fourier/miniconda3/lib/python3.9/site-packages/IPython/utils/__init__.py'>,
'IPython.utils.ipstruct': <module 'IPython.utils.ipstruct' from '/home/fourier/miniconda3/lib/python3.9/site-packages/IPython/utils/ipstruct.py'>,
'IPython.utils.coloransi': <module 'IPython.utils.coloransi' from '/home/fourier/miniconda3/lib/python3.9/site-packages/IPython/utils/coloransi.py'>,
'pygments': <module 'pygments' from '/home/fourier/miniconda3/lib/python3.9/site-packages/pygments/__init__.py'>,
'IPython.utils.colorable': <module 'IPython.utils.colorable' from '/home/fourier/miniconda3/lib/python3.9/site-packages/IPython/utils/colorable.py'>,
'IPython.utils.PyColorize': <module 'IPython.utils.PyColorize' from '/home/fourier/miniconda3/lib/python3.9/site-packages/IPython/utils/PyColorize.py'>,
'locale': <module 'locale' from '/home/fourier/miniconda3/lib/python3.9/locale.py'>,
'IPython.utils.encoding': <module 'IPython.utils.encoding' from '/home/fourier/miniconda3/lib/python3.9/site-packages/IPython/utils/encoding.py'>,
'IPython.utils.py3compat': <module 'IPython.utils.py3compat' from '/home/fourier/miniconda3/lib/python3.9/site-packages/IPython/utils/py3compat.py'>,
'IPython.core.excolors': <module 'IPython.core.excolors' from '/home/fourier/miniconda3/lib/python3.9/site-packages/IPython/core/excolors.py'>,
'IPython.testing': <module 'IPython.testing' from '/home/fourier/miniconda3/lib/python3.9/site-packages/IPython/testing/__init__.py'>,
'IPython.testing.skipdoctest': <module 'IPython.testing.skipdoctest' from '/home/fourier/miniconda3/lib/python3.9/site-packages/IPython/testing/skipdoctest.py'>,
'cmd': <module 'cmd' from '/home/fourier/miniconda3/lib/python3.9/cmd.py'>,
'__future__': <module '__future__' from '/home/fourier/miniconda3/lib/python3.9/__future__.py'>,
'codeop': <module 'codeop' from '/home/fourier/miniconda3/lib/python3.9/codeop.py'>,
'code': <module 'code' from '/home/fourier/miniconda3/lib/python3.9/code.py'>,
'pdb': <module 'pdb' from '/home/fourier/miniconda3/lib/python3.9/pdb.py'>,
'IPython.core.debugger': <module 'IPython.core.debugger' from '/home/fourier/miniconda3/lib/python3.9/site-packages/IPython/core/debugger.py'>,
'IPython.core.display_trap': <module 'IPython.core.display_trap' from '/home/fourier/miniconda3/lib/python3.9/site-packages/IPython/core/display_trap.py'>,
'_bisect': <module '_bisect' from '/home/fourier/miniconda3/lib/python3.9/lib-dynload/_bisect.cpython-39-x86_64-linux-gnu.so'>,
'bisect': <module 'bisect' from '/home/fourier/miniconda3/lib/python3.9/bisect.py'>,
'_random': <module '_random' from '/home/fourier/miniconda3/lib/python3.9/lib-dynload/_random.cpython-39-x86_64-linux-gnu.so'>,
'_sha512': <module '_sha512' from '/home/fourier/miniconda3/lib/python3.9/lib-dynload/_sha512.cpython-39-x86_64-linux-gnu.so'>,
'random': <module 'random' from '/home/fourier/miniconda3/lib/python3.9/random.py'>,
'pexpect.exceptions': <module 'pexpect.exceptions' from '/home/fourier/miniconda3/lib/python3.9/site-packages/pexpect/exceptions.py'>,
'pexpect.utils': <module 'pexpect.utils' from '/home/fourier/miniconda3/lib/python3.9/site-packages/pexpect/utils.py'>,
'pexpect.expect': <module 'pexpect.expect' from '/home/fourier/miniconda3/lib/python3.9/site-packages/pexpect/expect.py'>,
'termios': <module 'termios' from '/home/fourier/miniconda3/lib/python3.9/lib-dynload/termios.cpython-39-x86_64-linux-gnu.so'>,
'tty': <module 'tty' from '/home/fourier/miniconda3/lib/python3.9/tty.py'>,
'pty': <module 'pty' from '/home/fourier/miniconda3/lib/python3.9/pty.py'>,
'fcntl': <module 'fcntl' from '/home/fourier/miniconda3/lib/python3.9/lib-dynload/fcntl.cpython-39-x86_64-linux-gnu.so'>,
'resource': <module 'resource' from '/home/fourier/miniconda3/lib/python3.9/lib-dynload/resource.cpython-39-x86_64-linux-gnu.so'>,
'_struct': <module '_struct' from '/home/fourier/miniconda3/lib/python3.9/lib-dynload/_struct.cpython-39-x86_64-linux-gnu.so'>,
'struct': <module 'struct' from '/home/fourier/miniconda3/lib/python3.9/struct.py'>,
'ptyprocess.util': <module 'ptyprocess.util' from '/home/fourier/miniconda3/lib/python3.9/site-packages/ptyprocess/util.py'>,
'ptyprocess.ptyprocess': <module 'ptyprocess.ptyprocess' from '/home/fourier/miniconda3/lib/python3.9/site-packages/ptyprocess/ptyprocess.py'>,
'ptyprocess': <module 'ptyprocess' from '/home/fourier/miniconda3/lib/python3.9/site-packages/ptyprocess/__init__.py'>,
'pexpect.spawnbase': <module 'pexpect.spawnbase' from '/home/fourier/miniconda3/lib/python3.9/site-packages/pexpect/spawnbase.py'>,
'pexpect.pty_spawn': <module 'pexpect.pty_spawn' from '/home/fourier/miniconda3/lib/python3.9/site-packages/pexpect/pty_spawn.py'>,
'pexpect.run': <module 'pexpect.run' from '/home/fourier/miniconda3/lib/python3.9/site-packages/pexpect/run.py'>,
'pexpect': <module 'pexpect' from '/home/fourier/miniconda3/lib/python3.9/site-packages/pexpect/__init__.py'>,
'shlex': <module 'shlex' from '/home/fourier/miniconda3/lib/python3.9/shlex.py'>,
'IPython.utils._process_common': <module 'IPython.utils._process_common' from '/home/fourier/miniconda3/lib/python3.9/site-packages/IPython/utils/_process_common.py'>,
'IPython.utils._process_posix': <module 'IPython.utils._process_posix' from '/home/fourier/miniconda3/lib/python3.9/site-packages/IPython/utils/_process_posix.py'>,
'IPython.utils.process': <module 'IPython.utils.process' from '/home/fourier/miniconda3/lib/python3.9/site-packages/IPython/utils/process.py'>,
'IPython.utils.decorators': <module 'IPython.utils.decorators' from '/home/fourier/miniconda3/lib/python3.9/site-packages/IPython/utils/decorators.py'>,
'IPython.utils.path': <module 'IPython.utils.path' from '/home/fourier/miniconda3/lib/python3.9/site-packages/IPython/utils/path.py'>,
'IPython.utils.data': <module 'IPython.utils.data' from '/home/fourier/miniconda3/lib/python3.9/site-packages/IPython/utils/data.py'>,
'IPython.utils.terminal': <module 'IPython.utils.terminal' from '/home/fourier/miniconda3/lib/python3.9/site-packages/IPython/utils/terminal.py'>,
'IPython.core.ultratb': <module 'IPython.core.ultratb' from '/home/fourier/miniconda3/lib/python3.9/site-packages/IPython/core/ultratb.py'>,
'IPython.utils._sysinfo': <module 'IPython.utils._sysinfo' from '/home/fourier/miniconda3/lib/python3.9/site-packages/IPython/utils/_sysinfo.py'>,
'IPython.utils.sysinfo': <module 'IPython.utils.sysinfo' from '/home/fourier/miniconda3/lib/python3.9/site-packages/IPython/utils/sysinfo.py'>,
'IPython.core.crashhandler': <module 'IPython.core.crashhandler' from '/home/fourier/miniconda3/lib/python3.9/site-packages/IPython/core/crashhandler.py'>,
'tempfile': <module 'tempfile' from '/home/fourier/miniconda3/lib/python3.9/tempfile.py'>,
'IPython.utils.importstring': <module 'IPython.utils.importstring' from '/home/fourier/miniconda3/lib/python3.9/site-packages/IPython/utils/importstring.py'>,
'IPython.paths': <module 'IPython.paths' from '/home/fourier/miniconda3/lib/python3.9/site-packages/IPython/paths.py'>,
'IPython.core.profiledir': <module 'IPython.core.profiledir' from '/home/fourier/miniconda3/lib/python3.9/site-packages/IPython/core/profiledir.py'>,
'IPython.core.application': <module 'IPython.core.application' from '/home/fourier/miniconda3/lib/python3.9/site-packages/IPython/core/application.py'>,
'IPython.terminal': <module 'IPython.terminal' from '/home/fourier/miniconda3/lib/python3.9/site-packages/IPython/terminal/__init__.py'>,
'_hashlib': <module '_hashlib' from '/home/fourier/miniconda3/lib/python3.9/lib-dynload/_hashlib.cpython-39-x86_64-linux-gnu.so'>,
'_blake2': <module '_blake2' from '/home/fourier/miniconda3/lib/python3.9/lib-dynload/_blake2.cpython-39-x86_64-linux-gnu.so'>,
'hashlib': <module 'hashlib' from '/home/fourier/miniconda3/lib/python3.9/hashlib.py'>,
'IPython.core.compilerop': <module 'IPython.core.compilerop' from '/home/fourier/miniconda3/lib/python3.9/site-packages/IPython/core/compilerop.py'>,
'IPython.core.error': <module 'IPython.core.error' from '/home/fourier/miniconda3/lib/python3.9/site-packages/IPython/core/error.py'>,
'ntpath': <module 'ntpath' from '/home/fourier/miniconda3/lib/python3.9/ntpath.py'>,
'pathlib': <module 'pathlib' from '/home/fourier/miniconda3/lib/python3.9/pathlib.py'>,
'IPython.utils.text': <module 'IPython.utils.text' from '/home/fourier/miniconda3/lib/python3.9/site-packages/IPython/utils/text.py'>,
'IPython.core.magic_arguments': <module 'IPython.core.magic_arguments' from '/home/fourier/miniconda3/lib/python3.9/site-packages/IPython/core/magic_arguments.py'>,
'getopt': <module 'getopt' from '/home/fourier/miniconda3/lib/python3.9/getopt.py'>,
'binascii': <module 'binascii' from '/home/fourier/miniconda3/lib/python3.9/lib-dynload/binascii.cpython-39-x86_64-linux-gnu.so'>,
'mimetypes': <module 'mimetypes' from '/home/fourier/miniconda3/lib/python3.9/mimetypes.py'>,
'IPython.core.display': <module 'IPython.core.display' from '/home/fourier/miniconda3/lib/python3.9/site-packages/IPython/core/display.py'>,
'IPython.core.page': <module 'IPython.core.page' from '/home/fourier/miniconda3/lib/python3.9/site-packages/IPython/core/page.py'>,
'getpass': <module 'getpass' from '/home/fourier/miniconda3/lib/python3.9/getpass.py'>,
'IPython.lib.security': <module 'IPython.lib.security' from '/home/fourier/miniconda3/lib/python3.9/site-packages/IPython/lib/security.py'>,
'IPython.lib': <module 'IPython.lib' from '/home/fourier/miniconda3/lib/python3.9/site-packages/IPython/lib/__init__.py'>,
'_datetime': <module '_datetime' from '/home/fourier/miniconda3/lib/python3.9/lib-dynload/_datetime.cpython-39-x86_64-linux-gnu.so'>,
'datetime': <module 'datetime' from '/home/fourier/miniconda3/lib/python3.9/datetime.py'>,
'IPython.lib.pretty': <module 'IPython.lib.pretty' from '/home/fourier/miniconda3/lib/python3.9/site-packages/IPython/lib/pretty.py'>,
'IPython.utils.openpy': <module 'IPython.utils.openpy' from '/home/fourier/miniconda3/lib/python3.9/site-packages/IPython/utils/openpy.py'>,
'IPython.utils.dir2': <module 'IPython.utils.dir2' from '/home/fourier/miniconda3/lib/python3.9/site-packages/IPython/utils/dir2.py'>,
'IPython.utils.wildcard': <module 'IPython.utils.wildcard' from '/home/fourier/miniconda3/lib/python3.9/site-packages/IPython/utils/wildcard.py'>,
'pygments.lexers._mapping': <module 'pygments.lexers._mapping' from '/home/fourier/miniconda3/lib/python3.9/site-packages/pygments/lexers/_mapping.py'>,
'pygments.modeline': <module 'pygments.modeline' from '/home/fourier/miniconda3/lib/python3.9/site-packages/pygments/modeline.py'>,
'pygments.plugin': <module 'pygments.plugin' from '/home/fourier/miniconda3/lib/python3.9/site-packages/pygments/plugin.py'>,
'pygments.util': <module 'pygments.util' from '/home/fourier/miniconda3/lib/python3.9/site-packages/pygments/util.py'>,
'pygments.lexers': <module 'pygments.lexers' from '/home/fourier/miniconda3/lib/python3.9/site-packages/pygments/lexers/__init__.py'>,
'pygments.filter': <module 'pygments.filter' from '/home/fourier/miniconda3/lib/python3.9/site-packages/pygments/filter.py'>,
'pygments.token': <module 'pygments.token' from '/home/fourier/miniconda3/lib/python3.9/site-packages/pygments/token.py'>,
'pygments.filters': <module 'pygments.filters' from '/home/fourier/miniconda3/lib/python3.9/site-packages/pygments/filters/__init__.py'>,
'pygments.regexopt': <module 'pygments.regexopt' from '/home/fourier/miniconda3/lib/python3.9/site-packages/pygments/regexopt.py'>,
'pygments.lexer': <module 'pygments.lexer' from '/home/fourier/miniconda3/lib/python3.9/site-packages/pygments/lexer.py'>,
'pygments.unistring': <module 'pygments.unistring' from '/home/fourier/miniconda3/lib/python3.9/site-packages/pygments/unistring.py'>,
'pygments.lexers.python': <module 'pygments.lexers.python' from '/home/fourier/miniconda3/lib/python3.9/site-packages/pygments/lexers/python.py'>,
'pygments.formatters._mapping': <module 'pygments.formatters._mapping' from '/home/fourier/miniconda3/lib/python3.9/site-packages/pygments/formatters/_mapping.py'>,
'pygments.formatters': <module 'pygments.formatters' from '/home/fourier/miniconda3/lib/python3.9/site-packages/pygments/formatters/__init__.py'>,
'pygments.styles': <module 'pygments.styles' from '/home/fourier/miniconda3/lib/python3.9/site-packages/pygments/styles/__init__.py'>,
'pygments.formatter': <module 'pygments.formatter' from '/home/fourier/miniconda3/lib/python3.9/site-packages/pygments/formatter.py'>,
'pygments.formatters.html': <module 'pygments.formatters.html' from '/home/fourier/miniconda3/lib/python3.9/site-packages/pygments/formatters/html.py'>,
'IPython.core.oinspect': <module 'IPython.core.oinspect' from '/home/fourier/miniconda3/lib/python3.9/site-packages/IPython/core/oinspect.py'>,
'IPython.core.inputtransformer2': <module 'IPython.core.inputtransformer2' from '/home/fourier/miniconda3/lib/python3.9/site-packages/IPython/core/inputtransformer2.py'>,
'decorator': <module 'decorator' from '/home/fourier/miniconda3/lib/python3.9/site-packages/decorator.py'>,
'IPython.core.magic': <module 'IPython.core.magic' from '/home/fourier/miniconda3/lib/python3.9/site-packages/IPython/core/magic.py'>,
'_compat_pickle': <module '_compat_pickle' from '/home/fourier/miniconda3/lib/python3.9/_compat_pickle.py'>,
'_pickle': <module '_pickle' from '/home/fourier/miniconda3/lib/python3.9/lib-dynload/_pickle.cpython-39-x86_64-linux-gnu.so'>,
'pickle': <module 'pickle' from '/home/fourier/miniconda3/lib/python3.9/pickle.py'>,
'pickleshare': <module 'pickleshare' from '/home/fourier/miniconda3/lib/python3.9/site-packages/pickleshare.py'>,
'IPython.core.autocall': <module 'IPython.core.autocall' from '/home/fourier/miniconda3/lib/python3.9/site-packages/IPython/core/autocall.py'>,
'IPython.core.macro': <module 'IPython.core.macro' from '/home/fourier/miniconda3/lib/python3.9/site-packages/IPython/core/macro.py'>,
'IPython.core.splitinput': <module 'IPython.core.splitinput' from '/home/fourier/miniconda3/lib/python3.9/site-packages/IPython/core/splitinput.py'>,
'IPython.core.prefilter': <module 'IPython.core.prefilter' from '/home/fourier/miniconda3/lib/python3.9/site-packages/IPython/core/prefilter.py'>,
'IPython.core.alias': <module 'IPython.core.alias' from '/home/fourier/miniconda3/lib/python3.9/site-packages/IPython/core/alias.py'>,
'IPython.core.builtin_trap': <module 'IPython.core.builtin_trap' from '/home/fourier/miniconda3/lib/python3.9/site-packages/IPython/core/builtin_trap.py'>,
'backcall.backcall': <module 'backcall.backcall' from '/home/fourier/miniconda3/lib/python3.9/site-packages/backcall/backcall.py'>,
'backcall': <module 'backcall' from '/home/fourier/miniconda3/lib/python3.9/site-packages/backcall/__init__.py'>,
'IPython.core.events': <module 'IPython.core.events' from '/home/fourier/miniconda3/lib/python3.9/site-packages/IPython/core/events.py'>,
'IPython.core.displayhook': <module 'IPython.core.displayhook' from '/home/fourier/miniconda3/lib/python3.9/site-packages/IPython/core/displayhook.py'>,
'IPython.core.displaypub': <module 'IPython.core.displaypub' from '/home/fourier/miniconda3/lib/python3.9/site-packages/IPython/core/displaypub.py'>,
'IPython.core.extensions': <module 'IPython.core.extensions' from '/home/fourier/miniconda3/lib/python3.9/site-packages/IPython/core/extensions.py'>,
'IPython.utils.sentinel': <module 'IPython.utils.sentinel' from '/home/fourier/miniconda3/lib/python3.9/site-packages/IPython/utils/sentinel.py'>,
'IPython.core.formatters': <module 'IPython.core.formatters' from '/home/fourier/miniconda3/lib/python3.9/site-packages/IPython/core/formatters.py'>,
'_sqlite3': <module '_sqlite3' from '/home/fourier/miniconda3/lib/python3.9/lib-dynload/_sqlite3.cpython-39-x86_64-linux-gnu.so'>,
'sqlite3.dbapi2': <module 'sqlite3.dbapi2' from '/home/fourier/miniconda3/lib/python3.9/sqlite3/dbapi2.py'>,
'sqlite3': <module 'sqlite3' from '/home/fourier/miniconda3/lib/python3.9/sqlite3/__init__.py'>,
'IPython.core.history': <module 'IPython.core.history' from '/home/fourier/miniconda3/lib/python3.9/site-packages/IPython/core/history.py'>,
'IPython.core.logger': <module 'IPython.core.logger' from '/home/fourier/miniconda3/lib/python3.9/site-packages/IPython/core/logger.py'>,
'IPython.core.payload': <module 'IPython.core.payload' from '/home/fourier/miniconda3/lib/python3.9/site-packages/IPython/core/payload.py'>,
'IPython.core.usage': <module 'IPython.core.usage' from '/home/fourier/miniconda3/lib/python3.9/site-packages/IPython/core/usage.py'>,
'html.entities': <module 'html.entities' from '/home/fourier/miniconda3/lib/python3.9/html/entities.py'>,
'html': <module 'html' from '/home/fourier/miniconda3/lib/python3.9/html/__init__.py'>,
'IPython.lib.display': <module 'IPython.lib.display' from '/home/fourier/miniconda3/lib/python3.9/site-packages/IPython/lib/display.py'>,
'IPython.display': <module 'IPython.display' from '/home/fourier/miniconda3/lib/python3.9/site-packages/IPython/display.py'>,
'IPython.utils.capture': <module 'IPython.utils.capture' from '/home/fourier/miniconda3/lib/python3.9/site-packages/IPython/utils/capture.py'>,
'IPython.utils.io': <module 'IPython.utils.io' from '/home/fourier/miniconda3/lib/python3.9/site-packages/IPython/utils/io.py'>,
'IPython.core.hooks': <module 'IPython.core.hooks' from '/home/fourier/miniconda3/lib/python3.9/site-packages/IPython/core/hooks.py'>,
'IPython.utils.strdispatch': <module 'IPython.utils.strdispatch' from '/home/fourier/miniconda3/lib/python3.9/site-packages/IPython/utils/strdispatch.py'>,
'IPython.utils.syspathcontext': <module 'IPython.utils.syspathcontext' from '/home/fourier/miniconda3/lib/python3.9/site-packages/IPython/utils/syspathcontext.py'>,
'IPython.utils.tempdir': <module 'IPython.utils.tempdir' from '/home/fourier/miniconda3/lib/python3.9/site-packages/IPython/utils/tempdir.py'>,
'IPython.utils.contexts': <module 'IPython.utils.contexts' from '/home/fourier/miniconda3/lib/python3.9/site-packages/IPython/utils/contexts.py'>,
'concurrent': <module 'concurrent' from '/home/fourier/miniconda3/lib/python3.9/concurrent/__init__.py'>,
'concurrent.futures._base': <module 'concurrent.futures._base' from '/home/fourier/miniconda3/lib/python3.9/concurrent/futures/_base.py'>,
'concurrent.futures': <module 'concurrent.futures' from '/home/fourier/miniconda3/lib/python3.9/concurrent/futures/__init__.py'>,
'_socket': <module '_socket' from '/home/fourier/miniconda3/lib/python3.9/lib-dynload/_socket.cpython-39-x86_64-linux-gnu.so'>,
'array': <module 'array' from '/home/fourier/miniconda3/lib/python3.9/lib-dynload/array.cpython-39-x86_64-linux-gnu.so'>,
'socket': <module 'socket' from '/home/fourier/miniconda3/lib/python3.9/socket.py'>,
'_ssl': <module '_ssl' from '/home/fourier/miniconda3/lib/python3.9/lib-dynload/_ssl.cpython-39-x86_64-linux-gnu.so'>,
'base64': <module 'base64' from '/home/fourier/miniconda3/lib/python3.9/base64.py'>,
'ssl': <module 'ssl' from '/home/fourier/miniconda3/lib/python3.9/ssl.py'>,
'asyncio.constants': <module 'asyncio.constants' from '/home/fourier/miniconda3/lib/python3.9/asyncio/constants.py'>,
'asyncio.format_helpers': <module 'asyncio.format_helpers' from '/home/fourier/miniconda3/lib/python3.9/asyncio/format_helpers.py'>,
'asyncio.base_futures': <module 'asyncio.base_futures' from '/home/fourier/miniconda3/lib/python3.9/asyncio/base_futures.py'>,
'asyncio.log': <module 'asyncio.log' from '/home/fourier/miniconda3/lib/python3.9/asyncio/log.py'>,
'asyncio.coroutines': <module 'asyncio.coroutines' from '/home/fourier/miniconda3/lib/python3.9/asyncio/coroutines.py'>,
'_contextvars': <module '_contextvars' from '/home/fourier/miniconda3/lib/python3.9/lib-dynload/_contextvars.cpython-39-x86_64-linux-gnu.so'>,
'contextvars': <module 'contextvars' from '/home/fourier/miniconda3/lib/python3.9/contextvars.py'>,
'asyncio.exceptions': <module 'asyncio.exceptions' from '/home/fourier/miniconda3/lib/python3.9/asyncio/exceptions.py'>,
'asyncio.base_tasks': <module 'asyncio.base_tasks' from '/home/fourier/miniconda3/lib/python3.9/asyncio/base_tasks.py'>,
'_asyncio': <module '_asyncio' from '/home/fourier/miniconda3/lib/python3.9/lib-dynload/_asyncio.cpython-39-x86_64-linux-gnu.so'>,
'asyncio.events': <module 'asyncio.events' from '/home/fourier/miniconda3/lib/python3.9/asyncio/events.py'>,
'asyncio.futures': <module 'asyncio.futures' from '/home/fourier/miniconda3/lib/python3.9/asyncio/futures.py'>,
'asyncio.protocols': <module 'asyncio.protocols' from '/home/fourier/miniconda3/lib/python3.9/asyncio/protocols.py'>,
'asyncio.transports': <module 'asyncio.transports' from '/home/fourier/miniconda3/lib/python3.9/asyncio/transports.py'>,
'asyncio.sslproto': <module 'asyncio.sslproto' from '/home/fourier/miniconda3/lib/python3.9/asyncio/sslproto.py'>,
'asyncio.locks': <module 'asyncio.locks' from '/home/fourier/miniconda3/lib/python3.9/asyncio/locks.py'>,
'asyncio.tasks': <module 'asyncio.tasks' from '/home/fourier/miniconda3/lib/python3.9/asyncio/tasks.py'>,
'asyncio.staggered': <module 'asyncio.staggered' from '/home/fourier/miniconda3/lib/python3.9/asyncio/staggered.py'>,
'asyncio.trsock': <module 'asyncio.trsock' from '/home/fourier/miniconda3/lib/python3.9/asyncio/trsock.py'>,
'asyncio.base_events': <module 'asyncio.base_events' from '/home/fourier/miniconda3/lib/python3.9/asyncio/base_events.py'>,
'asyncio.runners': <module 'asyncio.runners' from '/home/fourier/miniconda3/lib/python3.9/asyncio/runners.py'>,
'asyncio.queues': <module 'asyncio.queues' from '/home/fourier/miniconda3/lib/python3.9/asyncio/queues.py'>,
'asyncio.streams': <module 'asyncio.streams' from '/home/fourier/miniconda3/lib/python3.9/asyncio/streams.py'>,
'asyncio.subprocess': <module 'asyncio.subprocess' from '/home/fourier/miniconda3/lib/python3.9/asyncio/subprocess.py'>,
'asyncio.threads': <module 'asyncio.threads' from '/home/fourier/miniconda3/lib/python3.9/asyncio/threads.py'>,
'asyncio.base_subprocess': <module 'asyncio.base_subprocess' from '/home/fourier/miniconda3/lib/python3.9/asyncio/base_subprocess.py'>,
'asyncio.selector_events': <module 'asyncio.selector_events' from '/home/fourier/miniconda3/lib/python3.9/asyncio/selector_events.py'>,
'asyncio.unix_events': <module 'asyncio.unix_events' from '/home/fourier/miniconda3/lib/python3.9/asyncio/unix_events.py'>,
'asyncio': <module 'asyncio' from '/home/fourier/miniconda3/lib/python3.9/asyncio/__init__.py'>,
'IPython.core.async_helpers': <module 'IPython.core.async_helpers' from '/home/fourier/miniconda3/lib/python3.9/site-packages/IPython/core/async_helpers.py'>,
'IPython.core.interactiveshell': <module 'IPython.core.interactiveshell' from '/home/fourier/miniconda3/lib/python3.9/site-packages/IPython/core/interactiveshell.py'>,
'prompt_toolkit.application.current': <module 'prompt_toolkit.application.current' from '/home/fourier/miniconda3/lib/python3.9/site-packages/prompt_toolkit/application/current.py'>,
'prompt_toolkit.eventloop.utils': <module 'prompt_toolkit.eventloop.utils' from '/home/fourier/miniconda3/lib/python3.9/site-packages/prompt_toolkit/eventloop/utils.py'>,
'prompt_toolkit.eventloop.async_generator': <module 'prompt_toolkit.eventloop.async_generator' from '/home/fourier/miniconda3/lib/python3.9/site-packages/prompt_toolkit/eventloop/async_generator.py'>,
'wcwidth.table_wide': <module 'wcwidth.table_wide' from '/home/fourier/miniconda3/lib/python3.9/site-packages/wcwidth/table_wide.py'>,
'wcwidth.table_zero': <module 'wcwidth.table_zero' from '/home/fourier/miniconda3/lib/python3.9/site-packages/wcwidth/table_zero.py'>,
'wcwidth.unicode_versions': <module 'wcwidth.unicode_versions' from '/home/fourier/miniconda3/lib/python3.9/site-packages/wcwidth/unicode_versions.py'>,
'wcwidth.wcwidth': <module 'wcwidth.wcwidth' from '/home/fourier/miniconda3/lib/python3.9/site-packages/wcwidth/wcwidth.py'>,
'wcwidth': <module 'wcwidth' from '/home/fourier/miniconda3/lib/python3.9/site-packages/wcwidth/__init__.py'>,
'prompt_toolkit.utils': <module 'prompt_toolkit.utils' from '/home/fourier/miniconda3/lib/python3.9/site-packages/prompt_toolkit/utils.py'>,
'prompt_toolkit.eventloop.inputhook': <module 'prompt_toolkit.eventloop.inputhook' from '/home/fourier/miniconda3/lib/python3.9/site-packages/prompt_toolkit/eventloop/inputhook.py'>,
'prompt_toolkit.eventloop': <module 'prompt_toolkit.eventloop' from '/home/fourier/miniconda3/lib/python3.9/site-packages/prompt_toolkit/eventloop/__init__.py'>,
'prompt_toolkit.application.run_in_terminal': <module 'prompt_toolkit.application.run_in_terminal' from '/home/fourier/miniconda3/lib/python3.9/site-packages/prompt_toolkit/application/run_in_terminal.py'>,
'prompt_toolkit.selection': <module 'prompt_toolkit.selection' from '/home/fourier/miniconda3/lib/python3.9/site-packages/prompt_toolkit/selection.py'>,
'prompt_toolkit.clipboard.base': <module 'prompt_toolkit.clipboard.base' from '/home/fourier/miniconda3/lib/python3.9/site-packages/prompt_toolkit/clipboard/base.py'>,
'prompt_toolkit.clipboard.in_memory': <module 'prompt_toolkit.clipboard.in_memory' from '/home/fourier/miniconda3/lib/python3.9/site-packages/prompt_toolkit/clipboard/in_memory.py'>,
'prompt_toolkit.clipboard': <module 'prompt_toolkit.clipboard' from '/home/fourier/miniconda3/lib/python3.9/site-packages/prompt_toolkit/clipboard/__init__.py'>,
'prompt_toolkit.cache': <module 'prompt_toolkit.cache' from '/home/fourier/miniconda3/lib/python3.9/site-packages/prompt_toolkit/cache.py'>,
'prompt_toolkit.enums': <module 'prompt_toolkit.enums' from '/home/fourier/miniconda3/lib/python3.9/site-packages/prompt_toolkit/enums.py'>,
'prompt_toolkit.filters.base': <module 'prompt_toolkit.filters.base' from '/home/fourier/miniconda3/lib/python3.9/site-packages/prompt_toolkit/filters/base.py'>,
'prompt_toolkit.filters.app': <module 'prompt_toolkit.filters.app' from '/home/fourier/miniconda3/lib/python3.9/site-packages/prompt_toolkit/filters/app.py'>,
'prompt_toolkit.filters.cli': <module 'prompt_toolkit.filters.cli' from '/home/fourier/miniconda3/lib/python3.9/site-packages/prompt_toolkit/filters/cli.py'>,
'prompt_toolkit.filters.utils': <module 'prompt_toolkit.filters.utils' from '/home/fourier/miniconda3/lib/python3.9/site-packages/prompt_toolkit/filters/utils.py'>,
'prompt_toolkit.filters': <module 'prompt_toolkit.filters' from '/home/fourier/miniconda3/lib/python3.9/site-packages/prompt_toolkit/filters/__init__.py'>,
'prompt_toolkit.document': <module 'prompt_toolkit.document' from '/home/fourier/miniconda3/lib/python3.9/site-packages/prompt_toolkit/document.py'>,
'prompt_toolkit.auto_suggest': <module 'prompt_toolkit.auto_suggest' from '/home/fourier/miniconda3/lib/python3.9/site-packages/prompt_toolkit/auto_suggest.py'>,
'prompt_toolkit.data_structures': <module 'prompt_toolkit.data_structures' from '/home/fourier/miniconda3/lib/python3.9/site-packages/prompt_toolkit/data_structures.py'>,
'prompt_toolkit.styles.base': <module 'prompt_toolkit.styles.base' from '/home/fourier/miniconda3/lib/python3.9/site-packages/prompt_toolkit/styles/base.py'>,
'prompt_toolkit.styles.named_colors': <module 'prompt_toolkit.styles.named_colors' from '/home/fourier/miniconda3/lib/python3.9/site-packages/prompt_toolkit/styles/named_colors.py'>,
'prompt_toolkit.styles.style': <module 'prompt_toolkit.styles.style' from '/home/fourier/miniconda3/lib/python3.9/site-packages/prompt_toolkit/styles/style.py'>,
'prompt_toolkit.styles.defaults': <module 'prompt_toolkit.styles.defaults' from '/home/fourier/miniconda3/lib/python3.9/site-packages/prompt_toolkit/styles/defaults.py'>,
'prompt_toolkit.styles.pygments': <module 'prompt_toolkit.styles.pygments' from '/home/fourier/miniconda3/lib/python3.9/site-packages/prompt_toolkit/styles/pygments.py'>,
'colorsys': <module 'colorsys' from '/home/fourier/miniconda3/lib/python3.9/colorsys.py'>,
'prompt_toolkit.styles.style_transformation': <module 'prompt_toolkit.styles.style_transformation' from '/home/fourier/miniconda3/lib/python3.9/site-packages/prompt_toolkit/styles/style_transformation.py'>,
'prompt_toolkit.styles': <module 'prompt_toolkit.styles' from '/home/fourier/miniconda3/lib/python3.9/site-packages/prompt_toolkit/styles/__init__.py'>,
'prompt_toolkit.output.color_depth': <module 'prompt_toolkit.output.color_depth' from '/home/fourier/miniconda3/lib/python3.9/site-packages/prompt_toolkit/output/color_depth.py'>,
'prompt_toolkit.output.base': <module 'prompt_toolkit.output.base' from '/home/fourier/miniconda3/lib/python3.9/site-packages/prompt_toolkit/output/base.py'>,
'prompt_toolkit.output.defaults': <module 'prompt_toolkit.output.defaults' from '/home/fourier/miniconda3/lib/python3.9/site-packages/prompt_toolkit/output/defaults.py'>,
'prompt_toolkit.output': <module 'prompt_toolkit.output' from '/home/fourier/miniconda3/lib/python3.9/site-packages/prompt_toolkit/output/__init__.py'>,
'prompt_toolkit.output.vt100': <module 'prompt_toolkit.output.vt100' from '/home/fourier/miniconda3/lib/python3.9/site-packages/prompt_toolkit/output/vt100.py'>,
'prompt_toolkit.mouse_events': <module 'prompt_toolkit.mouse_events' from '/home/fourier/miniconda3/lib/python3.9/site-packages/prompt_toolkit/mouse_events.py'>,
'prompt_toolkit.formatted_text.base': <module 'prompt_toolkit.formatted_text.base' from '/home/fourier/miniconda3/lib/python3.9/site-packages/prompt_toolkit/formatted_text/base.py'>,
'prompt_toolkit.formatted_text.ansi': <module 'prompt_toolkit.formatted_text.ansi' from '/home/fourier/miniconda3/lib/python3.9/site-packages/prompt_toolkit/formatted_text/ansi.py'>,
'xml': <module 'xml' from '/home/fourier/miniconda3/lib/python3.9/xml/__init__.py'>,
'xml.dom.domreg': <module 'xml.dom.domreg' from '/home/fourier/miniconda3/lib/python3.9/xml/dom/domreg.py'>,
'xml.dom': <module 'xml.dom' from '/home/fourier/miniconda3/lib/python3.9/xml/dom/__init__.py'>,
'xml.dom.minicompat': <module 'xml.dom.minicompat' from '/home/fourier/miniconda3/lib/python3.9/xml/dom/minicompat.py'>,
'xml.dom.NodeFilter': <module 'xml.dom.NodeFilter' from '/home/fourier/miniconda3/lib/python3.9/xml/dom/NodeFilter.py'>,
'xml.dom.xmlbuilder': <module 'xml.dom.xmlbuilder' from '/home/fourier/miniconda3/lib/python3.9/xml/dom/xmlbuilder.py'>,
'xml.dom.minidom': <module 'xml.dom.minidom' from '/home/fourier/miniconda3/lib/python3.9/xml/dom/minidom.py'>,
'prompt_toolkit.formatted_text.html': <module 'prompt_toolkit.formatted_text.html' from '/home/fourier/miniconda3/lib/python3.9/site-packages/prompt_toolkit/formatted_text/html.py'>,
'prompt_toolkit.formatted_text.pygments': <module 'prompt_toolkit.formatted_text.pygments' from '/home/fourier/miniconda3/lib/python3.9/site-packages/prompt_toolkit/formatted_text/pygments.py'>,
'prompt_toolkit.formatted_text.utils': <module 'prompt_toolkit.formatted_text.utils' from '/home/fourier/miniconda3/lib/python3.9/site-packages/prompt_toolkit/formatted_text/utils.py'>,
'prompt_toolkit.formatted_text': <module 'prompt_toolkit.formatted_text' from '/home/fourier/miniconda3/lib/python3.9/site-packages/prompt_toolkit/formatted_text/__init__.py'>,
'prompt_toolkit.completion.base': <module 'prompt_toolkit.completion.base' from '/home/fourier/miniconda3/lib/python3.9/site-packages/prompt_toolkit/completion/base.py'>,
'prompt_toolkit.completion.deduplicate': <module 'prompt_toolkit.completion.deduplicate' from '/home/fourier/miniconda3/lib/python3.9/site-packages/prompt_toolkit/completion/deduplicate.py'>,
'prompt_toolkit.completion.filesystem': <module 'prompt_toolkit.completion.filesystem' from '/home/fourier/miniconda3/lib/python3.9/site-packages/prompt_toolkit/completion/filesystem.py'>,
'prompt_toolkit.completion.word_completer': <module 'prompt_toolkit.completion.word_completer' from '/home/fourier/miniconda3/lib/python3.9/site-packages/prompt_toolkit/completion/word_completer.py'>,
'prompt_toolkit.completion.fuzzy_completer': <module 'prompt_toolkit.completion.fuzzy_completer' from '/home/fourier/miniconda3/lib/python3.9/site-packages/prompt_toolkit/completion/fuzzy_completer.py'>,
'prompt_toolkit.completion.nested': <module 'prompt_toolkit.completion.nested' from '/home/fourier/miniconda3/lib/python3.9/site-packages/prompt_toolkit/completion/nested.py'>,
'prompt_toolkit.completion': <module 'prompt_toolkit.completion' from '/home/fourier/miniconda3/lib/python3.9/site-packages/prompt_toolkit/completion/__init__.py'>,
'prompt_toolkit.history': <module 'prompt_toolkit.history' from '/home/fourier/miniconda3/lib/python3.9/site-packages/prompt_toolkit/history.py'>,
'prompt_toolkit.keys': <module 'prompt_toolkit.keys' from '/home/fourier/miniconda3/lib/python3.9/site-packages/prompt_toolkit/keys.py'>,
'prompt_toolkit.key_binding.key_bindings': <module 'prompt_toolkit.key_binding.key_bindings' from '/home/fourier/miniconda3/lib/python3.9/site-packages/prompt_toolkit/key_binding/key_bindings.py'>,
'prompt_toolkit.key_binding.key_processor': <module 'prompt_toolkit.key_binding.key_processor' from '/home/fourier/miniconda3/lib/python3.9/site-packages/prompt_toolkit/key_binding/key_processor.py'>,
'prompt_toolkit.key_binding': <module 'prompt_toolkit.key_binding' from '/home/fourier/miniconda3/lib/python3.9/site-packages/prompt_toolkit/key_binding/__init__.py'>,
'prompt_toolkit.key_binding.vi_state': <module 'prompt_toolkit.key_binding.vi_state' from '/home/fourier/miniconda3/lib/python3.9/site-packages/prompt_toolkit/key_binding/vi_state.py'>,
'prompt_toolkit.search': <module 'prompt_toolkit.search' from '/home/fourier/miniconda3/lib/python3.9/site-packages/prompt_toolkit/search.py'>,
'prompt_toolkit.validation': <module 'prompt_toolkit.validation' from '/home/fourier/miniconda3/lib/python3.9/site-packages/prompt_toolkit/validation.py'>,
'prompt_toolkit.buffer': <module 'prompt_toolkit.buffer' from '/home/fourier/miniconda3/lib/python3.9/site-packages/prompt_toolkit/buffer.py'>,
'prompt_toolkit.input.base': <module 'prompt_toolkit.input.base' from '/home/fourier/miniconda3/lib/python3.9/site-packages/prompt_toolkit/input/base.py'>,
'prompt_toolkit.input.defaults': <module 'prompt_toolkit.input.defaults' from '/home/fourier/miniconda3/lib/python3.9/site-packages/prompt_toolkit/input/defaults.py'>,
'prompt_toolkit.input': <module 'prompt_toolkit.input' from '/home/fourier/miniconda3/lib/python3.9/site-packages/prompt_toolkit/input/__init__.py'>,
'prompt_toolkit.input.typeahead': <module 'prompt_toolkit.input.typeahead' from '/home/fourier/miniconda3/lib/python3.9/site-packages/prompt_toolkit/input/typeahead.py'>,
'prompt_toolkit.key_binding.bindings': <module 'prompt_toolkit.key_binding.bindings' from '/home/fourier/miniconda3/lib/python3.9/site-packages/prompt_toolkit/key_binding/bindings/__init__.py'>,
'prompt_toolkit.key_binding.bindings.scroll': <module 'prompt_toolkit.key_binding.bindings.scroll' from '/home/fourier/miniconda3/lib/python3.9/site-packages/prompt_toolkit/key_binding/bindings/scroll.py'>,
'prompt_toolkit.key_binding.bindings.page_navigation': <module 'prompt_toolkit.key_binding.bindings.page_navigation' from '/home/fourier/miniconda3/lib/python3.9/site-packages/prompt_toolkit/key_binding/bindings/page_navigation.py'>,
'prompt_toolkit.lexers.base': <module 'prompt_toolkit.lexers.base' from '/home/fourier/miniconda3/lib/python3.9/site-packages/prompt_toolkit/lexers/base.py'>,
'prompt_toolkit.lexers.pygments': <module 'prompt_toolkit.lexers.pygments' from '/home/fourier/miniconda3/lib/python3.9/site-packages/prompt_toolkit/lexers/pygments.py'>,
'prompt_toolkit.lexers': <module 'prompt_toolkit.lexers' from '/home/fourier/miniconda3/lib/python3.9/site-packages/prompt_toolkit/lexers/__init__.py'>,
'prompt_toolkit.layout.utils': <module 'prompt_toolkit.layout.utils' from '/home/fourier/miniconda3/lib/python3.9/site-packages/prompt_toolkit/layout/utils.py'>,
'prompt_toolkit.layout.processors': <module 'prompt_toolkit.layout.processors' from '/home/fourier/miniconda3/lib/python3.9/site-packages/prompt_toolkit/layout/processors.py'>,
'prompt_toolkit.layout.controls': <module 'prompt_toolkit.layout.controls' from '/home/fourier/miniconda3/lib/python3.9/site-packages/prompt_toolkit/layout/controls.py'>,
'prompt_toolkit.layout.dimension': <module 'prompt_toolkit.layout.dimension' from '/home/fourier/miniconda3/lib/python3.9/site-packages/prompt_toolkit/layout/dimension.py'>,
'prompt_toolkit.layout.margins': <module 'prompt_toolkit.layout.margins' from '/home/fourier/miniconda3/lib/python3.9/site-packages/prompt_toolkit/layout/margins.py'>,
'prompt_toolkit.layout.mouse_handlers': <module 'prompt_toolkit.layout.mouse_handlers' from '/home/fourier/miniconda3/lib/python3.9/site-packages/prompt_toolkit/layout/mouse_handlers.py'>,
'prompt_toolkit.layout.screen': <module 'prompt_toolkit.layout.screen' from '/home/fourier/miniconda3/lib/python3.9/site-packages/prompt_toolkit/layout/screen.py'>,
'prompt_toolkit.layout.containers': <module 'prompt_toolkit.layout.containers' from '/home/fourier/miniconda3/lib/python3.9/site-packages/prompt_toolkit/layout/containers.py'>,
'prompt_toolkit.layout.layout': <module 'prompt_toolkit.layout.layout' from '/home/fourier/miniconda3/lib/python3.9/site-packages/prompt_toolkit/layout/layout.py'>,
'prompt_toolkit.layout.menus': <module 'prompt_toolkit.layout.menus' from '/home/fourier/miniconda3/lib/python3.9/site-packages/prompt_toolkit/layout/menus.py'>,
'prompt_toolkit.layout.scrollable_pane': <module 'prompt_toolkit.layout.scrollable_pane' from '/home/fourier/miniconda3/lib/python3.9/site-packages/prompt_toolkit/layout/scrollable_pane.py'>,
'prompt_toolkit.layout': <module 'prompt_toolkit.layout' from '/home/fourier/miniconda3/lib/python3.9/site-packages/prompt_toolkit/layout/__init__.py'>,
'prompt_toolkit.key_binding.bindings.completion': <module 'prompt_toolkit.key_binding.bindings.completion' from '/home/fourier/miniconda3/lib/python3.9/site-packages/prompt_toolkit/key_binding/bindings/completion.py'>,
'prompt_toolkit.key_binding.bindings.named_commands': <module 'prompt_toolkit.key_binding.bindings.named_commands' from '/home/fourier/miniconda3/lib/python3.9/site-packages/prompt_toolkit/key_binding/bindings/named_commands.py'>,
'prompt_toolkit.key_binding.bindings.basic': <module 'prompt_toolkit.key_binding.bindings.basic' from '/home/fourier/miniconda3/lib/python3.9/site-packages/prompt_toolkit/key_binding/bindings/basic.py'>,
'prompt_toolkit.key_binding.bindings.cpr': <module 'prompt_toolkit.key_binding.bindings.cpr' from '/home/fourier/miniconda3/lib/python3.9/site-packages/prompt_toolkit/key_binding/bindings/cpr.py'>,
'prompt_toolkit.key_binding.bindings.emacs': <module 'prompt_toolkit.key_binding.bindings.emacs' from '/home/fourier/miniconda3/lib/python3.9/site-packages/prompt_toolkit/key_binding/bindings/emacs.py'>,
'prompt_toolkit.key_binding.bindings.mouse': <module 'prompt_toolkit.key_binding.bindings.mouse' from '/home/fourier/miniconda3/lib/python3.9/site-packages/prompt_toolkit/key_binding/bindings/mouse.py'>,
'prompt_toolkit.input.ansi_escape_sequences': <module 'prompt_toolkit.input.ansi_escape_sequences' from '/home/fourier/miniconda3/lib/python3.9/site-packages/prompt_toolkit/input/ansi_escape_sequences.py'>,
'prompt_toolkit.input.vt100_parser': <module 'prompt_toolkit.input.vt100_parser' from '/home/fourier/miniconda3/lib/python3.9/site-packages/prompt_toolkit/input/vt100_parser.py'>,
'prompt_toolkit.key_binding.digraphs': <module 'prompt_toolkit.key_binding.digraphs' from '/home/fourier/miniconda3/lib/python3.9/site-packages/prompt_toolkit/key_binding/digraphs.py'>,
'prompt_toolkit.key_binding.bindings.vi': <module 'prompt_toolkit.key_binding.bindings.vi' from '/home/fourier/miniconda3/lib/python3.9/site-packages/prompt_toolkit/key_binding/bindings/vi.py'>,
'prompt_toolkit.key_binding.defaults': <module 'prompt_toolkit.key_binding.defaults' from '/home/fourier/miniconda3/lib/python3.9/site-packages/prompt_toolkit/key_binding/defaults.py'>,
'prompt_toolkit.key_binding.emacs_state': <module 'prompt_toolkit.key_binding.emacs_state' from '/home/fourier/miniconda3/lib/python3.9/site-packages/prompt_toolkit/key_binding/emacs_state.py'>,
'prompt_toolkit.layout.dummy': <module 'prompt_toolkit.layout.dummy' from '/home/fourier/miniconda3/lib/python3.9/site-packages/prompt_toolkit/layout/dummy.py'>,
'prompt_toolkit.renderer': <module 'prompt_toolkit.renderer' from '/home/fourier/miniconda3/lib/python3.9/site-packages/prompt_toolkit/renderer.py'>,
'prompt_toolkit.application.application': <module 'prompt_toolkit.application.application' from '/home/fourier/miniconda3/lib/python3.9/site-packages/prompt_toolkit/application/application.py'>,
'prompt_toolkit.application.dummy': <module 'prompt_toolkit.application.dummy' from '/home/fourier/miniconda3/lib/python3.9/site-packages/prompt_toolkit/application/dummy.py'>,
'prompt_toolkit.application': <module 'prompt_toolkit.application' from '/home/fourier/miniconda3/lib/python3.9/site-packages/prompt_toolkit/application/__init__.py'>,
'prompt_toolkit.key_binding.bindings.focus': <module 'prompt_toolkit.key_binding.bindings.focus' from '/home/fourier/miniconda3/lib/python3.9/site-packages/prompt_toolkit/key_binding/bindings/focus.py'>,
'prompt_toolkit.widgets.toolbars': <module 'prompt_toolkit.widgets.toolbars' from '/home/fourier/miniconda3/lib/python3.9/site-packages/prompt_toolkit/widgets/toolbars.py'>,
'prompt_toolkit.widgets.base': <module 'prompt_toolkit.widgets.base' from '/home/fourier/miniconda3/lib/python3.9/site-packages/prompt_toolkit/widgets/base.py'>,
'prompt_toolkit.widgets.dialogs': <module 'prompt_toolkit.widgets.dialogs' from '/home/fourier/miniconda3/lib/python3.9/site-packages/prompt_toolkit/widgets/dialogs.py'>,
'prompt_toolkit.widgets.menus': <module 'prompt_toolkit.widgets.menus' from '/home/fourier/miniconda3/lib/python3.9/site-packages/prompt_toolkit/widgets/menus.py'>,
'prompt_toolkit.widgets': <module 'prompt_toolkit.widgets' from '/home/fourier/miniconda3/lib/python3.9/site-packages/prompt_toolkit/widgets/__init__.py'>,
'prompt_toolkit.shortcuts.dialogs': <module 'prompt_toolkit.shortcuts.dialogs' from '/home/fourier/miniconda3/lib/python3.9/site-packages/prompt_toolkit/shortcuts/dialogs.py'>,
'prompt_toolkit.shortcuts.progress_bar.formatters': <module 'prompt_toolkit.shortcuts.progress_bar.formatters' from '/home/fourier/miniconda3/lib/python3.9/site-packages/prompt_toolkit/shortcuts/progress_bar/formatters.py'>,
'prompt_toolkit.shortcuts.progress_bar.base': <module 'prompt_toolkit.shortcuts.progress_bar.base' from '/home/fourier/miniconda3/lib/python3.9/site-packages/prompt_toolkit/shortcuts/progress_bar/base.py'>,
'prompt_toolkit.shortcuts.progress_bar': <module 'prompt_toolkit.shortcuts.progress_bar' from '/home/fourier/miniconda3/lib/python3.9/site-packages/prompt_toolkit/shortcuts/progress_bar/__init__.py'>,
'prompt_toolkit.key_binding.bindings.auto_suggest': <module 'prompt_toolkit.key_binding.bindings.auto_suggest' from '/home/fourier/miniconda3/lib/python3.9/site-packages/prompt_toolkit/key_binding/bindings/auto_suggest.py'>,
'prompt_toolkit.key_binding.bindings.open_in_editor': <module 'prompt_toolkit.key_binding.bindings.open_in_editor' from '/home/fourier/miniconda3/lib/python3.9/site-packages/prompt_toolkit/key_binding/bindings/open_in_editor.py'>,
'prompt_toolkit.shortcuts.prompt': <module 'prompt_toolkit.shortcuts.prompt' from '/home/fourier/miniconda3/lib/python3.9/site-packages/prompt_toolkit/shortcuts/prompt.py'>,
'prompt_toolkit.shortcuts.utils': <module 'prompt_toolkit.shortcuts.utils' from '/home/fourier/miniconda3/lib/python3.9/site-packages/prompt_toolkit/shortcuts/utils.py'>,
'prompt_toolkit.shortcuts': <module 'prompt_toolkit.shortcuts' from '/home/fourier/miniconda3/lib/python3.9/site-packages/prompt_toolkit/shortcuts/__init__.py'>,
'prompt_toolkit': <module 'prompt_toolkit' from '/home/fourier/miniconda3/lib/python3.9/site-packages/prompt_toolkit/__init__.py'>,
'_queue': <module '_queue' from '/home/fourier/miniconda3/lib/python3.9/lib-dynload/_queue.cpython-39-x86_64-linux-gnu.so'>,
'queue': <module 'queue' from '/home/fourier/miniconda3/lib/python3.9/queue.py'>,
'prompt_toolkit.patch_stdout': <module 'prompt_toolkit.patch_stdout' from '/home/fourier/miniconda3/lib/python3.9/site-packages/prompt_toolkit/patch_stdout.py'>,
'pygments.style': <module 'pygments.style' from '/home/fourier/miniconda3/lib/python3.9/site-packages/pygments/style.py'>,
'unicodedata': <module 'unicodedata' from '/home/fourier/miniconda3/lib/python3.9/lib-dynload/unicodedata.cpython-39-x86_64-linux-gnu.so'>,
'IPython.core.latex_symbols': <module 'IPython.core.latex_symbols' from '/home/fourier/miniconda3/lib/python3.9/site-packages/IPython/core/latex_symbols.py'>,
'IPython.utils.generics': <module 'IPython.utils.generics' from '/home/fourier/miniconda3/lib/python3.9/site-packages/IPython/utils/generics.py'>,
'parso.utils': <module 'parso.utils' from '/home/fourier/miniconda3/lib/python3.9/site-packages/parso/utils.py'>,
'parso.tree': <module 'parso.tree' from '/home/fourier/miniconda3/lib/python3.9/site-packages/parso/tree.py'>,
'parso.python': <module 'parso.python' from '/home/fourier/miniconda3/lib/python3.9/site-packages/parso/python/__init__.py'>,
'parso.python.token': <module 'parso.python.token' from '/home/fourier/miniconda3/lib/python3.9/site-packages/parso/python/token.py'>,
'parso.python.tokenize': <module 'parso.python.tokenize' from '/home/fourier/miniconda3/lib/python3.9/site-packages/parso/python/tokenize.py'>,
'parso.pgen2.grammar_parser': <module 'parso.pgen2.grammar_parser' from '/home/fourier/miniconda3/lib/python3.9/site-packages/parso/pgen2/grammar_parser.py'>,
'parso.pgen2.generator': <module 'parso.pgen2.generator' from '/home/fourier/miniconda3/lib/python3.9/site-packages/parso/pgen2/generator.py'>,
'parso.pgen2': <module 'parso.pgen2' from '/home/fourier/miniconda3/lib/python3.9/site-packages/parso/pgen2/__init__.py'>,
'parso.parser': <module 'parso.parser' from '/home/fourier/miniconda3/lib/python3.9/site-packages/parso/parser.py'>,
'parso._compatibility': <module 'parso._compatibility' from '/home/fourier/miniconda3/lib/python3.9/site-packages/parso/_compatibility.py'>,
'difflib': <module 'difflib' from '/home/fourier/miniconda3/lib/python3.9/difflib.py'>,
'parso.python.prefix': <module 'parso.python.prefix' from '/home/fourier/miniconda3/lib/python3.9/site-packages/parso/python/prefix.py'>,
'parso.python.tree': <module 'parso.python.tree' from '/home/fourier/miniconda3/lib/python3.9/site-packages/parso/python/tree.py'>,
'parso.python.parser': <module 'parso.python.parser' from '/home/fourier/miniconda3/lib/python3.9/site-packages/parso/python/parser.py'>,
'parso.python.diff': <module 'parso.python.diff' from '/home/fourier/miniconda3/lib/python3.9/site-packages/parso/python/diff.py'>,
'gc': <module 'gc' (built-in)>,
'parso.cache': <module 'parso.cache' from '/home/fourier/miniconda3/lib/python3.9/site-packages/parso/cache.py'>,
'parso.normalizer': <module 'parso.normalizer' from '/home/fourier/miniconda3/lib/python3.9/site-packages/parso/normalizer.py'>,
'parso.python.errors': <module 'parso.python.errors' from '/home/fourier/miniconda3/lib/python3.9/site-packages/parso/python/errors.py'>,
'parso.python.pep8': <module 'parso.python.pep8' from '/home/fourier/miniconda3/lib/python3.9/site-packages/parso/python/pep8.py'>,
'parso.file_io': <module 'parso.file_io' from '/home/fourier/miniconda3/lib/python3.9/site-packages/parso/file_io.py'>,
'parso.grammar': <module 'parso.grammar' from '/home/fourier/miniconda3/lib/python3.9/site-packages/parso/grammar.py'>,
'parso': <module 'parso' from '/home/fourier/miniconda3/lib/python3.9/site-packages/parso/__init__.py'>,
'jedi.parser_utils': <module 'jedi.parser_utils' from '/home/fourier/miniconda3/lib/python3.9/site-packages/jedi/parser_utils.py'>,
'jedi.debug': <module 'jedi.debug' from '/home/fourier/miniconda3/lib/python3.9/site-packages/jedi/debug.py'>,
'jedi.settings': <module 'jedi.settings' from '/home/fourier/miniconda3/lib/python3.9/site-packages/jedi/settings.py'>,
'jedi.cache': <module 'jedi.cache' from '/home/fourier/miniconda3/lib/python3.9/site-packages/jedi/cache.py'>,
'jedi.file_io': <module 'jedi.file_io' from '/home/fourier/miniconda3/lib/python3.9/site-packages/jedi/file_io.py'>,
'jedi.inference.cache': <module 'jedi.inference.cache' from '/home/fourier/miniconda3/lib/python3.9/site-packages/jedi/inference/cache.py'>,
'jedi.inference.helpers': <module 'jedi.inference.helpers' from '/home/fourier/miniconda3/lib/python3.9/site-packages/jedi/inference/helpers.py'>,
'jedi.inference.utils': <module 'jedi.inference.utils' from '/home/fourier/miniconda3/lib/python3.9/site-packages/jedi/inference/utils.py'>,
'jedi.inference.base_value': <module 'jedi.inference.base_value' from '/home/fourier/miniconda3/lib/python3.9/site-packages/jedi/inference/base_value.py'>,
'jedi.inference.sys_path': <module 'jedi.inference.sys_path' from '/home/fourier/miniconda3/lib/python3.9/site-packages/jedi/inference/sys_path.py'>,
'jedi.inference.recursion': <module 'jedi.inference.recursion' from '/home/fourier/miniconda3/lib/python3.9/site-packages/jedi/inference/recursion.py'>,
'jedi.inference.flow_analysis': <module 'jedi.inference.flow_analysis' from '/home/fourier/miniconda3/lib/python3.9/site-packages/jedi/inference/flow_analysis.py'>,
'jedi.common': <module 'jedi.common' from '/home/fourier/miniconda3/lib/python3.9/site-packages/jedi/common.py'>,
'jedi.inference.lazy_value': <module 'jedi.inference.lazy_value' from '/home/fourier/miniconda3/lib/python3.9/site-packages/jedi/inference/lazy_value.py'>,
'jedi.inference.docstrings': <module 'jedi.inference.docstrings' from '/home/fourier/miniconda3/lib/python3.9/site-packages/jedi/inference/docstrings.py'>,
'jedi.plugins': <module 'jedi.plugins' from '/home/fourier/miniconda3/lib/python3.9/site-packages/jedi/plugins/__init__.py'>,
'jedi.inference.names': <module 'jedi.inference.names' from '/home/fourier/miniconda3/lib/python3.9/site-packages/jedi/inference/names.py'>,
'jedi.inference.filters': <module 'jedi.inference.filters' from '/home/fourier/miniconda3/lib/python3.9/site-packages/jedi/inference/filters.py'>,
'jedi.inference.compiled.getattr_static': <module 'jedi.inference.compiled.getattr_static' from '/home/fourier/miniconda3/lib/python3.9/site-packages/jedi/inference/compiled/getattr_static.py'>,
'jedi.inference.compiled.access': <module 'jedi.inference.compiled.access' from '/home/fourier/miniconda3/lib/python3.9/site-packages/jedi/inference/compiled/access.py'>,
'jedi.inference.signature': <module 'jedi.inference.signature' from '/home/fourier/miniconda3/lib/python3.9/site-packages/jedi/inference/signature.py'>,
'jedi.inference.context': <module 'jedi.inference.context' from '/home/fourier/miniconda3/lib/python3.9/site-packages/jedi/inference/context.py'>,
'jedi.inference.compiled.value': <module 'jedi.inference.compiled.value' from '/home/fourier/miniconda3/lib/python3.9/site-packages/jedi/inference/compiled/value.py'>,
'jedi.inference.compiled': <module 'jedi.inference.compiled' from '/home/fourier/miniconda3/lib/python3.9/site-packages/jedi/inference/compiled/__init__.py'>,
'jedi.inference.analysis': <module 'jedi.inference.analysis' from '/home/fourier/miniconda3/lib/python3.9/site-packages/jedi/inference/analysis.py'>,
'jedi.inference.gradual': <module 'jedi.inference.gradual' from '/home/fourier/miniconda3/lib/python3.9/site-packages/jedi/inference/gradual/__init__.py'>,
'jedi.inference.value.module': <module 'jedi.inference.value.module' from '/home/fourier/miniconda3/lib/python3.9/site-packages/jedi/inference/value/module.py'>,
'jedi.inference.value.dynamic_arrays': <module 'jedi.inference.value.dynamic_arrays' from '/home/fourier/miniconda3/lib/python3.9/site-packages/jedi/inference/value/dynamic_arrays.py'>,
'jedi.inference.value.iterable': <module 'jedi.inference.value.iterable' from '/home/fourier/miniconda3/lib/python3.9/site-packages/jedi/inference/value/iterable.py'>,
'jedi.inference.arguments': <module 'jedi.inference.arguments' from '/home/fourier/miniconda3/lib/python3.9/site-packages/jedi/inference/arguments.py'>,
'jedi.inference.parser_cache': <module 'jedi.inference.parser_cache' from '/home/fourier/miniconda3/lib/python3.9/site-packages/jedi/inference/parser_cache.py'>,
'jedi.inference.gradual.generics': <module 'jedi.inference.gradual.generics' from '/home/fourier/miniconda3/lib/python3.9/site-packages/jedi/inference/gradual/generics.py'>,
'jedi.inference.value.function': <module 'jedi.inference.value.function' from '/home/fourier/miniconda3/lib/python3.9/site-packages/jedi/inference/value/function.py'>,
'jedi.inference.value.klass': <module 'jedi.inference.value.klass' from '/home/fourier/miniconda3/lib/python3.9/site-packages/jedi/inference/value/klass.py'>,
'jedi.inference.value.instance': <module 'jedi.inference.value.instance' from '/home/fourier/miniconda3/lib/python3.9/site-packages/jedi/inference/value/instance.py'>,
'jedi.inference.value': <module 'jedi.inference.value' from '/home/fourier/miniconda3/lib/python3.9/site-packages/jedi/inference/value/__init__.py'>,
'jedi.inference.gradual.base': <module 'jedi.inference.gradual.base' from '/home/fourier/miniconda3/lib/python3.9/site-packages/jedi/inference/gradual/base.py'>,
'jedi.inference.gradual.type_var': <module 'jedi.inference.gradual.type_var' from '/home/fourier/miniconda3/lib/python3.9/site-packages/jedi/inference/gradual/type_var.py'>,
'jedi.inference.gradual.typing': <module 'jedi.inference.gradual.typing' from '/home/fourier/miniconda3/lib/python3.9/site-packages/jedi/inference/gradual/typing.py'>,
'jedi.inference.gradual.stub_value': <module 'jedi.inference.gradual.stub_value' from '/home/fourier/miniconda3/lib/python3.9/site-packages/jedi/inference/gradual/stub_value.py'>,
'jedi.inference.gradual.typeshed': <module 'jedi.inference.gradual.typeshed' from '/home/fourier/miniconda3/lib/python3.9/site-packages/jedi/inference/gradual/typeshed.py'>,
'jedi._compatibility': <module 'jedi._compatibility' from '/home/fourier/miniconda3/lib/python3.9/site-packages/jedi/_compatibility.py'>,
'zipfile': <module 'zipfile' from '/home/fourier/miniconda3/lib/python3.9/zipfile.py'>,
'jedi.inference.compiled.subprocess.functions': <module 'jedi.inference.compiled.subprocess.functions' from '/home/fourier/miniconda3/lib/python3.9/site-packages/jedi/inference/compiled/subprocess/functions.py'>,
'jedi.api.exceptions': <module 'jedi.api.exceptions' from '/home/fourier/miniconda3/lib/python3.9/site-packages/jedi/api/exceptions.py'>,
'jedi.inference.compiled.subprocess': <module 'jedi.inference.compiled.subprocess' from '/home/fourier/miniconda3/lib/python3.9/site-packages/jedi/inference/compiled/subprocess/__init__.py'>,
'jedi.inference.imports': <module 'jedi.inference.imports' from '/home/fourier/miniconda3/lib/python3.9/site-packages/jedi/inference/imports.py'>,
'jedi.inference.param': <module 'jedi.inference.param' from '/home/fourier/miniconda3/lib/python3.9/site-packages/jedi/inference/param.py'>,
'jedi.inference.gradual.annotation': <module 'jedi.inference.gradual.annotation' from '/home/fourier/miniconda3/lib/python3.9/site-packages/jedi/inference/gradual/annotation.py'>,
'jedi.inference.value.decorator': <module 'jedi.inference.value.decorator' from '/home/fourier/miniconda3/lib/python3.9/site-packages/jedi/inference/value/decorator.py'>,
'jedi.inference.syntax_tree': <module 'jedi.inference.syntax_tree' from '/home/fourier/miniconda3/lib/python3.9/site-packages/jedi/inference/syntax_tree.py'>,
'jedi.inference': <module 'jedi.inference' from '/home/fourier/miniconda3/lib/python3.9/site-packages/jedi/inference/__init__.py'>,
'jedi.inference.gradual.conversion': <module 'jedi.inference.gradual.conversion' from '/home/fourier/miniconda3/lib/python3.9/site-packages/jedi/inference/gradual/conversion.py'>,
'jedi.inference.compiled.mixed': <module 'jedi.inference.compiled.mixed' from '/home/fourier/miniconda3/lib/python3.9/site-packages/jedi/inference/compiled/mixed.py'>,
'pydoc_data': <module 'pydoc_data' from '/home/fourier/miniconda3/lib/python3.9/pydoc_data/__init__.py'>,
'pydoc_data.topics': <module 'pydoc_data.topics' from '/home/fourier/miniconda3/lib/python3.9/pydoc_data/topics.py'>,
'jedi.api.keywords': <module 'jedi.api.keywords' from '/home/fourier/miniconda3/lib/python3.9/site-packages/jedi/api/keywords.py'>,
'jedi.api.completion_cache': <module 'jedi.api.completion_cache' from '/home/fourier/miniconda3/lib/python3.9/site-packages/jedi/api/completion_cache.py'>,
'jedi.api.helpers': <module 'jedi.api.helpers' from '/home/fourier/miniconda3/lib/python3.9/site-packages/jedi/api/helpers.py'>,
'jedi.api.classes': <module 'jedi.api.classes' from '/home/fourier/miniconda3/lib/python3.9/site-packages/jedi/api/classes.py'>,
'jedi.api.interpreter': <module 'jedi.api.interpreter' from '/home/fourier/miniconda3/lib/python3.9/site-packages/jedi/api/interpreter.py'>,
'jedi.api.strings': <module 'jedi.api.strings' from '/home/fourier/miniconda3/lib/python3.9/site-packages/jedi/api/strings.py'>,
'jedi.api.file_name': <module 'jedi.api.file_name' from '/home/fourier/miniconda3/lib/python3.9/site-packages/jedi/api/file_name.py'>,
'jedi.inference.docstring_utils': <module 'jedi.inference.docstring_utils' from '/home/fourier/miniconda3/lib/python3.9/site-packages/jedi/inference/docstring_utils.py'>,
'jedi.api.completion': <module 'jedi.api.completion' from '/home/fourier/miniconda3/lib/python3.9/site-packages/jedi/api/completion.py'>,
'filecmp': <module 'filecmp' from '/home/fourier/miniconda3/lib/python3.9/filecmp.py'>,
'jedi.api.environment': <module 'jedi.api.environment' from '/home/fourier/miniconda3/lib/python3.9/site-packages/jedi/api/environment.py'>,
'jedi.inference.references': <module 'jedi.inference.references' from '/home/fourier/miniconda3/lib/python3.9/site-packages/jedi/inference/references.py'>,
'jedi.api.project': <module 'jedi.api.project' from '/home/fourier/miniconda3/lib/python3.9/site-packages/jedi/api/project.py'>,
'jedi.api.errors': <module 'jedi.api.errors' from '/home/fourier/miniconda3/lib/python3.9/site-packages/jedi/api/errors.py'>,
'jedi.api.refactoring': <module 'jedi.api.refactoring' from '/home/fourier/miniconda3/lib/python3.9/site-packages/jedi/api/refactoring/__init__.py'>,
'jedi.api.refactoring.extract': <module 'jedi.api.refactoring.extract' from '/home/fourier/miniconda3/lib/python3.9/site-packages/jedi/api/refactoring/extract.py'>,
'jedi.inference.gradual.utils': <module 'jedi.inference.gradual.utils' from '/home/fourier/miniconda3/lib/python3.9/site-packages/jedi/inference/gradual/utils.py'>,
'jedi.api': <module 'jedi.api' from '/home/fourier/miniconda3/lib/python3.9/site-packages/jedi/api/__init__.py'>,
'jedi.plugins.stdlib': <module 'jedi.plugins.stdlib' from '/home/fourier/miniconda3/lib/python3.9/site-packages/jedi/plugins/stdlib.py'>,
'jedi.plugins.flask': <module 'jedi.plugins.flask' from '/home/fourier/miniconda3/lib/python3.9/site-packages/jedi/plugins/flask.py'>,
'jedi.plugins.pytest': <module 'jedi.plugins.pytest' from '/home/fourier/miniconda3/lib/python3.9/site-packages/jedi/plugins/pytest.py'>,
'jedi.plugins.django': <module 'jedi.plugins.django' from '/home/fourier/miniconda3/lib/python3.9/site-packages/jedi/plugins/django.py'>,
'jedi.plugins.registry': <module 'jedi.plugins.registry' from '/home/fourier/miniconda3/lib/python3.9/site-packages/jedi/plugins/registry.py'>,
'jedi': <module 'jedi' from '/home/fourier/miniconda3/lib/python3.9/site-packages/jedi/__init__.py'>,
'IPython.core.completer': <module 'IPython.core.completer' from '/home/fourier/miniconda3/lib/python3.9/site-packages/IPython/core/completer.py'>,
'IPython.terminal.ptutils': <module 'IPython.terminal.ptutils' from '/home/fourier/miniconda3/lib/python3.9/site-packages/IPython/terminal/ptutils.py'>,
'IPython.terminal.shortcuts': <module 'IPython.terminal.shortcuts' from '/home/fourier/miniconda3/lib/python3.9/site-packages/IPython/terminal/shortcuts.py'>,
'concurrent.futures.thread': <module 'concurrent.futures.thread' from '/home/fourier/miniconda3/lib/python3.9/concurrent/futures/thread.py'>,
'IPython.terminal.debugger': <module 'IPython.terminal.debugger' from '/home/fourier/miniconda3/lib/python3.9/site-packages/IPython/terminal/debugger.py'>,
'IPython.lib.clipboard': <module 'IPython.lib.clipboard' from '/home/fourier/miniconda3/lib/python3.9/site-packages/IPython/lib/clipboard.py'>,
'IPython.terminal.magics': <module 'IPython.terminal.magics' from '/home/fourier/miniconda3/lib/python3.9/site-packages/IPython/terminal/magics.py'>,
'IPython.terminal.pt_inputhooks': <module 'IPython.terminal.pt_inputhooks' from '/home/fourier/miniconda3/lib/python3.9/site-packages/IPython/terminal/pt_inputhooks/__init__.py'>,
'IPython.terminal.prompts': <module 'IPython.terminal.prompts' from '/home/fourier/miniconda3/lib/python3.9/site-packages/IPython/terminal/prompts.py'>,
'IPython.terminal.interactiveshell': <module 'IPython.terminal.interactiveshell' from '/home/fourier/miniconda3/lib/python3.9/site-packages/IPython/terminal/interactiveshell.py'>,
'IPython.core.magics.auto': <module 'IPython.core.magics.auto' from '/home/fourier/miniconda3/lib/python3.9/site-packages/IPython/core/magics/auto.py'>,
'IPython.core.magics.basic': <module 'IPython.core.magics.basic' from '/home/fourier/miniconda3/lib/python3.9/site-packages/IPython/core/magics/basic.py'>,
'email': <module 'email' from '/home/fourier/miniconda3/lib/python3.9/email/__init__.py'>,
'http': <module 'http' from '/home/fourier/miniconda3/lib/python3.9/http/__init__.py'>,
'email.errors': <module 'email.errors' from '/home/fourier/miniconda3/lib/python3.9/email/errors.py'>,
'email.quoprimime': <module 'email.quoprimime' from '/home/fourier/miniconda3/lib/python3.9/email/quoprimime.py'>,
'email.base64mime': <module 'email.base64mime' from '/home/fourier/miniconda3/lib/python3.9/email/base64mime.py'>,
'quopri': <module 'quopri' from '/home/fourier/miniconda3/lib/python3.9/quopri.py'>,
'email.encoders': <module 'email.encoders' from '/home/fourier/miniconda3/lib/python3.9/email/encoders.py'>,
'email.charset': <module 'email.charset' from '/home/fourier/miniconda3/lib/python3.9/email/charset.py'>,
'email.header': <module 'email.header' from '/home/fourier/miniconda3/lib/python3.9/email/header.py'>,
'calendar': <module 'calendar' from '/home/fourier/miniconda3/lib/python3.9/calendar.py'>,
'email._parseaddr': <module 'email._parseaddr' from '/home/fourier/miniconda3/lib/python3.9/email/_parseaddr.py'>,
'email.utils': <module 'email.utils' from '/home/fourier/miniconda3/lib/python3.9/email/utils.py'>,
'email._policybase': <module 'email._policybase' from '/home/fourier/miniconda3/lib/python3.9/email/_policybase.py'>,
'email.feedparser': <module 'email.feedparser' from '/home/fourier/miniconda3/lib/python3.9/email/feedparser.py'>,
'email.parser': <module 'email.parser' from '/home/fourier/miniconda3/lib/python3.9/email/parser.py'>,
'uu': <module 'uu' from '/home/fourier/miniconda3/lib/python3.9/uu.py'>,
'email._encoded_words': <module 'email._encoded_words' from '/home/fourier/miniconda3/lib/python3.9/email/_encoded_words.py'>,
'email.iterators': <module 'email.iterators' from '/home/fourier/miniconda3/lib/python3.9/email/iterators.py'>,
'email.message': <module 'email.message' from '/home/fourier/miniconda3/lib/python3.9/email/message.py'>,
'http.client': <module 'http.client' from '/home/fourier/miniconda3/lib/python3.9/http/client.py'>,
'urllib.response': <module 'urllib.response' from '/home/fourier/miniconda3/lib/python3.9/urllib/response.py'>,
'urllib.error': <module 'urllib.error' from '/home/fourier/miniconda3/lib/python3.9/urllib/error.py'>,
'urllib.request': <module 'urllib.request' from '/home/fourier/miniconda3/lib/python3.9/urllib/request.py'>,
'IPython.core.magics.code': <module 'IPython.core.magics.code' from '/home/fourier/miniconda3/lib/python3.9/site-packages/IPython/core/magics/code.py'>,
'IPython.core.magics.config': <module 'IPython.core.magics.config' from '/home/fourier/miniconda3/lib/python3.9/site-packages/IPython/core/magics/config.py'>,
'IPython.core.magics.display': <module 'IPython.core.magics.display' from '/home/fourier/miniconda3/lib/python3.9/site-packages/IPython/core/magics/display.py'>,
'timeit': <module 'timeit' from '/home/fourier/miniconda3/lib/python3.9/timeit.py'>,
'_lsprof': <module '_lsprof' from '/home/fourier/miniconda3/lib/python3.9/lib-dynload/_lsprof.cpython-39-x86_64-linux-gnu.so'>,
'profile': <module 'profile' from '/home/fourier/miniconda3/lib/python3.9/profile.py'>,
'cProfile': <module 'cProfile' from '/home/fourier/miniconda3/lib/python3.9/cProfile.py'>,
'dataclasses': <module 'dataclasses' from '/home/fourier/miniconda3/lib/python3.9/dataclasses.py'>,
'pstats': <module 'pstats' from '/home/fourier/miniconda3/lib/python3.9/pstats.py'>,
'IPython.utils.module_paths': <module 'IPython.utils.module_paths' from '/home/fourier/miniconda3/lib/python3.9/site-packages/IPython/utils/module_paths.py'>,
'IPython.utils.timing': <module 'IPython.utils.timing' from '/home/fourier/miniconda3/lib/python3.9/site-packages/IPython/utils/timing.py'>,
'IPython.core.magics.execution': <module 'IPython.core.magics.execution' from '/home/fourier/miniconda3/lib/python3.9/site-packages/IPython/core/magics/execution.py'>,
'IPython.core.magics.extension': <module 'IPython.core.magics.extension' from '/home/fourier/miniconda3/lib/python3.9/site-packages/IPython/core/magics/extension.py'>,
'IPython.core.magics.history': <module 'IPython.core.magics.history' from '/home/fourier/miniconda3/lib/python3.9/site-packages/IPython/core/magics/history.py'>,
'IPython.core.magics.logging': <module 'IPython.core.magics.logging' from '/home/fourier/miniconda3/lib/python3.9/site-packages/IPython/core/magics/logging.py'>,
'IPython.core.magics.namespace': <module 'IPython.core.magics.namespace' from '/home/fourier/miniconda3/lib/python3.9/site-packages/IPython/core/magics/namespace.py'>,
'IPython.core.magics.osm': <module 'IPython.core.magics.osm' from '/home/fourier/miniconda3/lib/python3.9/site-packages/IPython/core/magics/osm.py'>,
'IPython.core.magics.packaging': <module 'IPython.core.magics.packaging' from '/home/fourier/miniconda3/lib/python3.9/site-packages/IPython/core/magics/packaging.py'>,
'IPython.core.pylabtools': <module 'IPython.core.pylabtools' from '/home/fourier/miniconda3/lib/python3.9/site-packages/IPython/core/pylabtools.py'>,
'IPython.core.magics.pylab': <module 'IPython.core.magics.pylab' from '/home/fourier/miniconda3/lib/python3.9/site-packages/IPython/core/magics/pylab.py'>,
'IPython.lib.backgroundjobs': <module 'IPython.lib.backgroundjobs' from '/home/fourier/miniconda3/lib/python3.9/site-packages/IPython/lib/backgroundjobs.py'>,
'IPython.core.magics.script': <module 'IPython.core.magics.script' from '/home/fourier/miniconda3/lib/python3.9/site-packages/IPython/core/magics/script.py'>,
'IPython.core.magics': <module 'IPython.core.magics' from '/home/fourier/miniconda3/lib/python3.9/site-packages/IPython/core/magics/__init__.py'>,
'IPython.core.shellapp': <module 'IPython.core.shellapp' from '/home/fourier/miniconda3/lib/python3.9/site-packages/IPython/core/shellapp.py'>,
'IPython.extensions': <module 'IPython.extensions' from '/home/fourier/miniconda3/lib/python3.9/site-packages/IPython/extensions/__init__.py'>,
'IPython.extensions.storemagic': <module 'IPython.extensions.storemagic' from '/home/fourier/miniconda3/lib/python3.9/site-packages/IPython/extensions/storemagic.py'>,
'IPython.terminal.ipapp': <module 'IPython.terminal.ipapp' from '/home/fourier/miniconda3/lib/python3.9/site-packages/IPython/terminal/ipapp.py'>,
'IPython.terminal.embed': <module 'IPython.terminal.embed' from '/home/fourier/miniconda3/lib/python3.9/site-packages/IPython/terminal/embed.py'>,
'IPython.utils.frame': <module 'IPython.utils.frame' from '/home/fourier/miniconda3/lib/python3.9/site-packages/IPython/utils/frame.py'>,
'IPython': <module 'IPython' from '/home/fourier/miniconda3/lib/python3.9/site-packages/IPython/__init__.py'>,
'ipython_genutils._version': <module 'ipython_genutils._version' from '/home/fourier/miniconda3/lib/python3.9/site-packages/ipython_genutils/_version.py'>,
'ipython_genutils': <module 'ipython_genutils' from '/home/fourier/miniconda3/lib/python3.9/site-packages/ipython_genutils/__init__.py'>,
'ipython_genutils.encoding': <module 'ipython_genutils.encoding' from '/home/fourier/miniconda3/lib/python3.9/site-packages/ipython_genutils/encoding.py'>,
'ipython_genutils.py3compat': <module 'ipython_genutils.py3compat' from '/home/fourier/miniconda3/lib/python3.9/site-packages/ipython_genutils/py3compat.py'>,
'ipython_genutils.path': <module 'ipython_genutils.path' from '/home/fourier/miniconda3/lib/python3.9/site-packages/ipython_genutils/path.py'>,
'jupyter_client._version': <module 'jupyter_client._version' from '/home/fourier/miniconda3/lib/python3.9/site-packages/jupyter_client/_version.py'>,
'_ctypes': <module '_ctypes' from '/home/fourier/miniconda3/lib/python3.9/lib-dynload/_ctypes.cpython-39-x86_64-linux-gnu.so'>,
'ctypes._endian': <module 'ctypes._endian' from '/home/fourier/miniconda3/lib/python3.9/ctypes/_endian.py'>,
'ctypes': <module 'ctypes' from '/home/fourier/miniconda3/lib/python3.9/ctypes/__init__.py'>,
'zmq.backend.select': <module 'zmq.backend.select' from '/home/fourier/miniconda3/lib/python3.9/site-packages/zmq/backend/select.py'>,
'cython_runtime': <module 'cython_runtime'>,
'zmq.backend.cython.constants': <module 'zmq.backend.cython.constants' from '/home/fourier/miniconda3/lib/python3.9/site-packages/zmq/backend/cython/constants.cpython-39-x86_64-linux-gnu.so'>,
'_cython_0_29_21': <module '_cython_0_29_21'>,
'zmq.backend.cython.error': <module 'zmq.backend.cython.error' from '/home/fourier/miniconda3/lib/python3.9/site-packages/zmq/backend/cython/error.cpython-39-x86_64-linux-gnu.so'>,
'zmq.error': <module 'zmq.error' from '/home/fourier/miniconda3/lib/python3.9/site-packages/zmq/error.py'>,
'zmq.backend.cython.message': <module 'zmq.backend.cython.message' from '/home/fourier/miniconda3/lib/python3.9/site-packages/zmq/backend/cython/message.cpython-39-x86_64-linux-gnu.so'>,
'zmq.backend.cython.context': <module 'zmq.backend.cython.context' from '/home/fourier/miniconda3/lib/python3.9/site-packages/zmq/backend/cython/context.cpython-39-x86_64-linux-gnu.so'>,
'zmq.backend.cython.socket': <module 'zmq.backend.cython.socket' from '/home/fourier/miniconda3/lib/python3.9/site-packages/zmq/backend/cython/socket.cpython-39-x86_64-linux-gnu.so'>,
'zmq.backend.cython.utils': <module 'zmq.backend.cython.utils' from '/home/fourier/miniconda3/lib/python3.9/site-packages/zmq/backend/cython/utils.cpython-39-x86_64-linux-gnu.so'>,
'zmq.backend.cython._poll': <module 'zmq.backend.cython._poll' from '/home/fourier/miniconda3/lib/python3.9/site-packages/zmq/backend/cython/_poll.cpython-39-x86_64-linux-gnu.so'>,
'zmq.backend.cython._version': <module 'zmq.backend.cython._version' from '/home/fourier/miniconda3/lib/python3.9/site-packages/zmq/backend/cython/_version.cpython-39-x86_64-linux-gnu.so'>,
'zmq.backend.cython._device': <module 'zmq.backend.cython._device' from '/home/fourier/miniconda3/lib/python3.9/site-packages/zmq/backend/cython/_device.cpython-39-x86_64-linux-gnu.so'>,
'zmq.backend.cython._proxy_steerable': <module 'zmq.backend.cython._proxy_steerable' from '/home/fourier/miniconda3/lib/python3.9/site-packages/zmq/backend/cython/_proxy_steerable.cpython-39-x86_64-linux-gnu.so'>,
'zmq.backend.cython': <module 'zmq.backend.cython' from '/home/fourier/miniconda3/lib/python3.9/site-packages/zmq/backend/cython/__init__.py'>,
'zmq.backend': <module 'zmq.backend' from '/home/fourier/miniconda3/lib/python3.9/site-packages/zmq/backend/__init__.py'>,
'zmq.utils': <module 'zmq.utils' from '/home/fourier/miniconda3/lib/python3.9/site-packages/zmq/utils/__init__.py'>,
'zmq.utils.constant_names': <module 'zmq.utils.constant_names' from '/home/fourier/miniconda3/lib/python3.9/site-packages/zmq/utils/constant_names.py'>,
'zmq.sugar.constants': <module 'zmq.sugar.constants' from '/home/fourier/miniconda3/lib/python3.9/site-packages/zmq/sugar/constants.py'>,
'zmq.sugar.attrsettr': <module 'zmq.sugar.attrsettr' from '/home/fourier/miniconda3/lib/python3.9/site-packages/zmq/sugar/attrsettr.py'>,
'zmq.sugar.poll': <module 'zmq.sugar.poll' from '/home/fourier/miniconda3/lib/python3.9/site-packages/zmq/sugar/poll.py'>,
'zmq.utils.strtypes': <module 'zmq.utils.strtypes' from '/home/fourier/miniconda3/lib/python3.9/site-packages/zmq/utils/strtypes.py'>,
'zmq.utils.jsonapi': <module 'zmq.utils.jsonapi' from '/home/fourier/miniconda3/lib/python3.9/site-packages/zmq/utils/jsonapi.py'>,
'zmq.sugar.socket': <module 'zmq.sugar.socket' from '/home/fourier/miniconda3/lib/python3.9/site-packages/zmq/sugar/socket.py'>,
'zmq.sugar.context': <module 'zmq.sugar.context' from '/home/fourier/miniconda3/lib/python3.9/site-packages/zmq/sugar/context.py'>,
'zmq.sugar.frame': <module 'zmq.sugar.frame' from '/home/fourier/miniconda3/lib/python3.9/site-packages/zmq/sugar/frame.py'>,
'zmq.sugar.tracker': <module 'zmq.sugar.tracker' from '/home/fourier/miniconda3/lib/python3.9/site-packages/zmq/sugar/tracker.py'>,
'zmq.sugar.version': <module 'zmq.sugar.version' from '/home/fourier/miniconda3/lib/python3.9/site-packages/zmq/sugar/version.py'>,
'zmq.sugar.stopwatch': <module 'zmq.sugar.stopwatch' from '/home/fourier/miniconda3/lib/python3.9/site-packages/zmq/sugar/stopwatch.py'>,
'zmq.sugar': <module 'zmq.sugar' from '/home/fourier/miniconda3/lib/python3.9/site-packages/zmq/sugar/__init__.py'>,
'zmq': <module 'zmq' from '/home/fourier/miniconda3/lib/python3.9/site-packages/zmq/__init__.py'>,
'zmq._future': <module 'zmq._future' from '/home/fourier/miniconda3/lib/python3.9/site-packages/zmq/_future.py'>,
'zmq.asyncio': <module 'zmq.asyncio' from '/home/fourier/miniconda3/lib/python3.9/site-packages/zmq/asyncio/__init__.py'>,
'jupyter_client.channelsabc': <module 'jupyter_client.channelsabc' from '/home/fourier/miniconda3/lib/python3.9/site-packages/jupyter_client/channelsabc.py'>,
'hmac': <module 'hmac' from '/home/fourier/miniconda3/lib/python3.9/hmac.py'>,
'traitlets.log': <module 'traitlets.log' from '/home/fourier/miniconda3/lib/python3.9/site-packages/traitlets/log.py'>,
'tornado': <module 'tornado' from '/home/fourier/miniconda3/lib/python3.9/site-packages/tornado/__init__.py'>,
'logging.handlers': <module 'logging.handlers' from '/home/fourier/miniconda3/lib/python3.9/logging/handlers.py'>,
'tornado.speedups': <module 'tornado.speedups' from '/home/fourier/miniconda3/lib/python3.9/site-packages/tornado/speedups.cpython-39-x86_64-linux-gnu.so'>,
'tornado.util': <module 'tornado.util' from '/home/fourier/miniconda3/lib/python3.9/site-packages/tornado/util.py'>,
'tornado.escape': <module 'tornado.escape' from '/home/fourier/miniconda3/lib/python3.9/site-packages/tornado/escape.py'>,
'_curses': <module '_curses' from '/home/fourier/miniconda3/lib/python3.9/lib-dynload/_curses.cpython-39-x86_64-linux-gnu.so'>,
'curses': <module 'curses' from '/home/fourier/miniconda3/lib/python3.9/curses/__init__.py'>,
'tornado.log': <module 'tornado.log' from '/home/fourier/miniconda3/lib/python3.9/site-packages/tornado/log.py'>,
'numbers': <module 'numbers' from '/home/fourier/miniconda3/lib/python3.9/numbers.py'>,
'tornado.concurrent': <module 'tornado.concurrent' from '/home/fourier/miniconda3/lib/python3.9/site-packages/tornado/concurrent.py'>,
'tornado.ioloop': <module 'tornado.ioloop' from '/home/fourier/miniconda3/lib/python3.9/site-packages/tornado/ioloop.py'>,
'tornado.platform': <module 'tornado.platform' from '/home/fourier/miniconda3/lib/python3.9/site-packages/tornado/platform/__init__.py'>,
'tornado.gen': <module 'tornado.gen' from '/home/fourier/miniconda3/lib/python3.9/site-packages/tornado/gen.py'>,
'tornado.platform.asyncio': <module 'tornado.platform.asyncio' from '/home/fourier/miniconda3/lib/python3.9/site-packages/tornado/platform/asyncio.py'>,
'zmq.eventloop.ioloop': <module 'zmq.eventloop.ioloop' from '/home/fourier/miniconda3/lib/python3.9/site-packages/zmq/eventloop/ioloop.py'>,
'zmq.eventloop': <module 'zmq.eventloop' from '/home/fourier/miniconda3/lib/python3.9/site-packages/zmq/eventloop/__init__.py'>,
'zmq.eventloop.zmqstream': <module 'zmq.eventloop.zmqstream' from '/home/fourier/miniconda3/lib/python3.9/site-packages/zmq/eventloop/zmqstream.py'>,
'jupyter_client.adapter': <module 'jupyter_client.adapter' from '/home/fourier/miniconda3/lib/python3.9/site-packages/jupyter_client/adapter.py'>,
'dateutil._version': <module 'dateutil._version' from '/home/fourier/miniconda3/lib/python3.9/site-packages/dateutil/_version.py'>,
'dateutil': <module 'dateutil' from '/home/fourier/miniconda3/lib/python3.9/site-packages/dateutil/__init__.py'>,
'six': <module 'six' from '/home/fourier/miniconda3/lib/python3.9/site-packages/six.py'>,
'_decimal': <module '_decimal' from '/home/fourier/miniconda3/lib/python3.9/lib-dynload/_decimal.cpython-39-x86_64-linux-gnu.so'>,
'decimal': <module 'decimal' from '/home/fourier/miniconda3/lib/python3.9/decimal.py'>,
'dateutil._common': <module 'dateutil._common' from '/home/fourier/miniconda3/lib/python3.9/site-packages/dateutil/_common.py'>,
'dateutil.relativedelta': <module 'dateutil.relativedelta' from '/home/fourier/miniconda3/lib/python3.9/site-packages/dateutil/relativedelta.py'>,
'six.moves': <module 'six.moves' (<six._SixMetaPathImporter object at 0x7f6a7b367e80>)>,
'dateutil.tz._common': <module 'dateutil.tz._common' from '/home/fourier/miniconda3/lib/python3.9/site-packages/dateutil/tz/_common.py'>,
'dateutil.tz._factories': <module 'dateutil.tz._factories' from '/home/fourier/miniconda3/lib/python3.9/site-packages/dateutil/tz/_factories.py'>,
'dateutil.tz.tz': <module 'dateutil.tz.tz' from '/home/fourier/miniconda3/lib/python3.9/site-packages/dateutil/tz/tz.py'>,
'dateutil.tz': <module 'dateutil.tz' from '/home/fourier/miniconda3/lib/python3.9/site-packages/dateutil/tz/__init__.py'>,
'dateutil.parser._parser': <module 'dateutil.parser._parser' from '/home/fourier/miniconda3/lib/python3.9/site-packages/dateutil/parser/_parser.py'>,
'dateutil.parser.isoparser': <module 'dateutil.parser.isoparser' from '/home/fourier/miniconda3/lib/python3.9/site-packages/dateutil/parser/isoparser.py'>,
'dateutil.parser': <module 'dateutil.parser' from '/home/fourier/miniconda3/lib/python3.9/site-packages/dateutil/parser/__init__.py'>,
'_strptime': <module '_strptime' from '/home/fourier/miniconda3/lib/python3.9/_strptime.py'>,
'jupyter_client.jsonutil': <module 'jupyter_client.jsonutil' from '/home/fourier/miniconda3/lib/python3.9/site-packages/jupyter_client/jsonutil.py'>,
'jupyter_client.session': <module 'jupyter_client.session' from '/home/fourier/miniconda3/lib/python3.9/site-packages/jupyter_client/session.py'>,
'jupyter_client.channels': <module 'jupyter_client.channels' from '/home/fourier/miniconda3/lib/python3.9/site-packages/jupyter_client/channels.py'>,
'jupyter_client.clientabc': <module 'jupyter_client.clientabc' from '/home/fourier/miniconda3/lib/python3.9/site-packages/jupyter_client/clientabc.py'>,
'jupyter_core.version': <module 'jupyter_core.version' from '/home/fourier/miniconda3/lib/python3.9/site-packages/jupyter_core/version.py'>,
'jupyter_core': <module 'jupyter_core' from '/home/fourier/miniconda3/lib/python3.9/site-packages/jupyter_core/__init__.py'>,
'jupyter_core.paths': <module 'jupyter_core.paths' from '/home/fourier/miniconda3/lib/python3.9/site-packages/jupyter_core/paths.py'>,
'jupyter_client.localinterfaces': <module 'jupyter_client.localinterfaces' from '/home/fourier/miniconda3/lib/python3.9/site-packages/jupyter_client/localinterfaces.py'>,
'jupyter_client.utils': <module 'jupyter_client.utils' from '/home/fourier/miniconda3/lib/python3.9/site-packages/jupyter_client/utils.py'>,
'jupyter_client.connect': <module 'jupyter_client.connect' from '/home/fourier/miniconda3/lib/python3.9/site-packages/jupyter_client/connect.py'>,
'jupyter_client.client': <module 'jupyter_client.client' from '/home/fourier/miniconda3/lib/python3.9/site-packages/jupyter_client/client.py'>,
'jupyter_client.asynchronous.client': <module 'jupyter_client.asynchronous.client' from '/home/fourier/miniconda3/lib/python3.9/site-packages/jupyter_client/asynchronous/client.py'>,
'jupyter_client.asynchronous': <module 'jupyter_client.asynchronous' from '/home/fourier/miniconda3/lib/python3.9/site-packages/jupyter_client/asynchronous/__init__.py'>,
'jupyter_client.blocking.client': <module 'jupyter_client.blocking.client' from '/home/fourier/miniconda3/lib/python3.9/site-packages/jupyter_client/blocking/client.py'>,
'jupyter_client.blocking': <module 'jupyter_client.blocking' from '/home/fourier/miniconda3/lib/python3.9/site-packages/jupyter_client/blocking/__init__.py'>,
'jupyter_client.launcher': <module 'jupyter_client.launcher' from '/home/fourier/miniconda3/lib/python3.9/site-packages/jupyter_client/launcher.py'>,
'uuid': <module 'uuid' from '/home/fourier/miniconda3/lib/python3.9/uuid.py'>,
'jupyter_client.managerabc': <module 'jupyter_client.managerabc' from '/home/fourier/miniconda3/lib/python3.9/site-packages/jupyter_client/managerabc.py'>,
'configparser': <module 'configparser' from '/home/fourier/miniconda3/lib/python3.9/configparser.py'>,
'entrypoints': <module 'entrypoints' from '/home/fourier/miniconda3/lib/python3.9/site-packages/entrypoints.py'>,
'jupyter_client.provisioning.provisioner_base': <module 'jupyter_client.provisioning.provisioner_base' from '/home/fourier/miniconda3/lib/python3.9/site-packages/jupyter_client/provisioning/provisioner_base.py'>,
'jupyter_client.provisioning.factory': <module 'jupyter_client.provisioning.factory' from '/home/fourier/miniconda3/lib/python3.9/site-packages/jupyter_client/provisioning/factory.py'>,
'jupyter_client.provisioning.local_provisioner': <module 'jupyter_client.provisioning.local_provisioner' from '/home/fourier/miniconda3/lib/python3.9/site-packages/jupyter_client/provisioning/local_provisioner.py'>,
'jupyter_client.provisioning': <module 'jupyter_client.provisioning' from '/home/fourier/miniconda3/lib/python3.9/site-packages/jupyter_client/provisioning/__init__.py'>,
'jupyter_client.kernelspec': <module 'jupyter_client.kernelspec' from '/home/fourier/miniconda3/lib/python3.9/site-packages/jupyter_client/kernelspec.py'>,
'jupyter_client.manager': <module 'jupyter_client.manager' from '/home/fourier/miniconda3/lib/python3.9/site-packages/jupyter_client/manager.py'>,
'jupyter_client.multikernelmanager': <module 'jupyter_client.multikernelmanager' from '/home/fourier/miniconda3/lib/python3.9/site-packages/jupyter_client/multikernelmanager.py'>,
'jupyter_client': <module 'jupyter_client' from '/home/fourier/miniconda3/lib/python3.9/site-packages/jupyter_client/__init__.py'>,
'ipykernel.connect': <module 'ipykernel.connect' from '/home/fourier/miniconda3/lib/python3.9/site-packages/ipykernel/connect.py'>,
'ipykernel': <module 'ipykernel' from '/home/fourier/miniconda3/lib/python3.9/site-packages/ipykernel/__init__.py'>,
'ipython_genutils.importstring': <module 'ipython_genutils.importstring' from '/home/fourier/miniconda3/lib/python3.9/site-packages/ipython_genutils/importstring.py'>,
'imp': <module 'imp' from '/home/fourier/miniconda3/lib/python3.9/imp.py'>,
'ipykernel.iostream': <module 'ipykernel.iostream' from '/home/fourier/miniconda3/lib/python3.9/site-packages/ipykernel/iostream.py'>,
'ipykernel.heartbeat': <module 'ipykernel.heartbeat' from '/home/fourier/miniconda3/lib/python3.9/site-packages/ipykernel/heartbeat.py'>,
'IPython.utils.tokenutil': <module 'IPython.utils.tokenutil' from '/home/fourier/miniconda3/lib/python3.9/site-packages/IPython/utils/tokenutil.py'>,
'tornado.locks': <module 'tornado.locks' from '/home/fourier/miniconda3/lib/python3.9/site-packages/tornado/locks.py'>,
'tornado.queues': <module 'tornado.queues' from '/home/fourier/miniconda3/lib/python3.9/site-packages/tornado/queues.py'>,
'ipykernel.jsonutil': <module 'ipykernel.jsonutil' from '/home/fourier/miniconda3/lib/python3.9/site-packages/ipykernel/jsonutil.py'>,
'ipykernel.kernelbase': <module 'ipykernel.kernelbase' from '/home/fourier/miniconda3/lib/python3.9/site-packages/ipykernel/kernelbase.py'>,
'ipykernel.comm.comm': <module 'ipykernel.comm.comm' from '/home/fourier/miniconda3/lib/python3.9/site-packages/ipykernel/comm/comm.py'>,
'ipykernel.comm.manager': <module 'ipykernel.comm.manager' from '/home/fourier/miniconda3/lib/python3.9/site-packages/ipykernel/comm/manager.py'>,
'ipykernel.comm': <module 'ipykernel.comm' from '/home/fourier/miniconda3/lib/python3.9/site-packages/ipykernel/comm/__init__.py'>,
'IPython.core.payloadpage': <module 'IPython.core.payloadpage' from '/home/fourier/miniconda3/lib/python3.9/site-packages/IPython/core/payloadpage.py'>,
'ipykernel.displayhook': <module 'ipykernel.displayhook' from '/home/fourier/miniconda3/lib/python3.9/site-packages/ipykernel/displayhook.py'>,
'ipykernel.codeutil': <module 'ipykernel.codeutil' from '/home/fourier/miniconda3/lib/python3.9/site-packages/ipykernel/codeutil.py'>,
'ipykernel.pickleutil': <module 'ipykernel.pickleutil' from '/home/fourier/miniconda3/lib/python3.9/site-packages/ipykernel/pickleutil.py'>,
'ipykernel.serialize': <module 'ipykernel.serialize' from '/home/fourier/miniconda3/lib/python3.9/site-packages/ipykernel/serialize.py'>,
'ipykernel.datapub': <module 'ipykernel.datapub' from '/home/fourier/miniconda3/lib/python3.9/site-packages/ipykernel/datapub.py'>,
'ipykernel.zmqshell': <module 'ipykernel.zmqshell' from '/home/fourier/miniconda3/lib/python3.9/site-packages/ipykernel/zmqshell.py'>,
'distutils': <module 'distutils' from '/home/fourier/miniconda3/lib/python3.9/distutils/__init__.py'>,
'distutils.version': <module 'distutils.version' from '/home/fourier/miniconda3/lib/python3.9/distutils/version.py'>,
'ipykernel.eventloops': <module 'ipykernel.eventloops' from '/home/fourier/miniconda3/lib/python3.9/site-packages/ipykernel/eventloops.py'>,
'ipykernel.ipkernel': <module 'ipykernel.ipkernel' from '/home/fourier/miniconda3/lib/python3.9/site-packages/ipykernel/ipkernel.py'>,
'ipykernel.parentpoller': <module 'ipykernel.parentpoller' from '/home/fourier/miniconda3/lib/python3.9/site-packages/ipykernel/parentpoller.py'>,
'ipykernel.kernelapp': <module 'ipykernel.kernelapp' from '/home/fourier/miniconda3/lib/python3.9/site-packages/ipykernel/kernelapp.py'>,
'faulthandler': <module 'faulthandler' (built-in)>,
'IPython.core.completerlib': <module 'IPython.core.completerlib' from '/home/fourier/miniconda3/lib/python3.9/site-packages/IPython/core/completerlib.py'>,
'storemagic': <module 'storemagic' from '/home/fourier/miniconda3/lib/python3.9/site-packages/IPython/extensions/storemagic.py'>,
'jedi.inference.finder': <module 'jedi.inference.finder' from '/home/fourier/miniconda3/lib/python3.9/site-packages/jedi/inference/finder.py'>}
sys.path
获取指定模块搜索路径的字符串集合,可以将写好的模块放在得到的某个路径下,就可以在程序中 import 时正确找到。
在 import 导入 module_name 时,就是根据 sys.path 的路径来搜索 module.name。也可以自定义添加模块路径。
sys.path
['/home/fourier/Documents/Jupyter-Notebook/Python Basics/Advanced',
'/home/fourier/miniconda3/lib/python39.zip',
'/home/fourier/miniconda3/lib/python3.9',
'/home/fourier/miniconda3/lib/python3.9/lib-dynload',
'',
'/home/fourier/miniconda3/lib/python3.9/site-packages',
'/home/fourier/miniconda3/lib/python3.9/site-packages/IPython/extensions',
'/home/fourier/.ipython',
'/home/fourier/.local/lib/python3.9/site-packages']
sys.path.append('../my_module.py')
其他
获取当前系统平台
sys.platform
'linux'
获取文件系统使用的编码方式
sys.getfilesystemencoding()
'utf-8'