Python 소스를 줄 단위로 실행하고 즉각적인 반응을 보는데에 있어서 REPL는 상당히 편리한 도구입니다. 하지만 매번 실행할때마다 import를 새로 해야한다던가 하는 부분이 있다면 상당히 귀찮은 문제가 됩니다. 이 문제는 사실 아주 간단하게 해결할 수 있는지라, 간단한 솔루션을 첨부합니다.

Python 기본

import code

context = dict(some_variable=1234)
code.interact(local=context)

Python 기본

IPython

하지만 IPython을 쓰고 싶다면 어떻게 해야할까요? 역시 간단합니다.

from IPython.terminal.embed import InteractiveShellEmbed

context = dict(some_variable=1234)
shell = InteractiveShellEmbed()
shell(local_ns=context)

IPython

bpython

비슷한 방법으로 bpython도 지원할 수 있습니다.

import bpython

context = dict(some_variable=1234)
bpython.embed(locals_=context)

bpython

사용법

위에서 만든 context라는 dict에 원하는 내용을 모두 넣으면 됩니다. 가령 datetime.datetime을 바로 사용하고 싶다면 이렇게 하면 됩니다.

import datetime

context = dict(datetime=datetime.datetime)