Fix #396 re-triggered issue

The InteractiveShellEmbed class is a singleton
and we need to drop the instance with its clear_instance() method
to rebuild the instance from scratch with fresh environment
for each subsequent Scrapy's shell drop in.
This commit is contained in:
Andrew Hlynskyi 2016-11-30 09:47:02 +02:00
parent a07400ce0a
commit 27606aad11
1 changed files with 3 additions and 0 deletions

View File

@ -15,6 +15,9 @@ def _embed_ipython_shell(namespace={}, banner=''):
config = load_default_config()
# Always use .instace() to ensure _instance propagation to all parents
# this is needed for <TAB> completion works well for new imports
# and clear the instance to always have the fresh env
# on repeated breaks like with inspect_response()
InteractiveShellEmbed.clear_instance()
shell = InteractiveShellEmbed.instance(
banner1=banner, user_ns=namespace, config=config)
shell()