Description
Today python shell (fake_shell) uses 'stdin' as file name to compile code blocks and never caches them in linecache. This breaks the user code that depends on "inspect.findsource", like "torch.jit.script"
To enable code block caching at the backend, we can use the way how ipython does: https://github.com/ipython/ipython/blob/44bd47d5ac27805a297798d39ad7e31f63181468/IPython/core/compilerop.py#L54