Python 소스를 줄 단위로 실행하고 즉각적인 반응을 보는데에 있어서 REPL는 상당히 편리한 도구입니다. 하지만 매번 실행할때마다 import를 새로 해야한다던가 하는 부분이 있다면 상당히 귀찮은 문제가 됩니다. 이 문제는 사실 아주 간단하게 해결할 수 있는지라, 간단한 솔루션을 첨부합니다.
Python 기본.
import code
context = dict(some_variable=1234)
code.interact(local=context)
IPython.
하지만 IPython을 쓰고 싶다면 어떻게 해야할까요? 역시 간단합니다.
from IPython.terminal.embed import InteractiveShellEmbed
context = dict(some_variable=1234)
shell = InteractiveShellEmbed()
shell(local_ns=context)
bpython.
비슷한 방법으로 bpython도 지원할 수 있습니다.
import bpython
context = dict(some_variable=1234)
bpython.embed(locals_=context)
사용법.
위에서 만든 context
라는 dict에 원하는 내용을 모두 넣으면 됩니다.
가령 datetime.datetime
을 바로 사용하고 싶다면 이렇게 하면 됩니다.
import datetime
context = dict(datetime=datetime.datetime)