From ca361c9cf5fd8c508c50ac7b8f2f30c4dd5c0d71 Mon Sep 17 00:00:00 2001 From: "Jason G. Villanueva" Date: Sun, 30 Jul 2023 20:03:52 -0700 Subject: [PATCH 1/3] Fixed IPython sqlite errors/history for interactive_embed scenes --- manim/scene/scene.py | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/manim/scene/scene.py b/manim/scene/scene.py index 69f0f95848..b829294c40 100644 --- a/manim/scene/scene.py +++ b/manim/scene/scene.py @@ -1318,11 +1318,17 @@ def get_embedded_method(method_name): local_namespace[method] = embedded_method from IPython.terminal.embed import InteractiveShellEmbed + from IPython.core.getipython import get_ipython from traitlets.config import Config - + from sqlite3 import connect cfg = Config() cfg.TerminalInteractiveShell.confirm_exit = False - shell = InteractiveShellEmbed(config=cfg) + if get_ipython() is None: + shell = InteractiveShellEmbed.instance() + else: + shell = InteractiveShellEmbed(config=cfg) + hist = get_ipython().history_manager + hist.db = connect(hist.hist_file, check_same_thread=False) keyboard_thread = threading.Thread( target=ipython, From bc0f951bb8c67bcc8d365fd8d9935838be9a00e2 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Mon, 31 Jul 2023 03:34:09 +0000 Subject: [PATCH 2/3] [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --- manim/scene/scene.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/manim/scene/scene.py b/manim/scene/scene.py index b829294c40..cbfd3095f2 100644 --- a/manim/scene/scene.py +++ b/manim/scene/scene.py @@ -1317,10 +1317,12 @@ def get_embedded_method(method_name): # Allow for calling scene methods without prepending 'self.'. local_namespace[method] = embedded_method - from IPython.terminal.embed import InteractiveShellEmbed + from sqlite3 import connect + from IPython.core.getipython import get_ipython + from IPython.terminal.embed import InteractiveShellEmbed from traitlets.config import Config - from sqlite3 import connect + cfg = Config() cfg.TerminalInteractiveShell.confirm_exit = False if get_ipython() is None: From b8e39ffade1415bb12d9444986ddbcba5b0f943a Mon Sep 17 00:00:00 2001 From: "Jason G. Villanueva" Date: Sun, 30 Jul 2023 20:44:24 -0700 Subject: [PATCH 3/3] Add config to instance method --- manim/scene/scene.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/manim/scene/scene.py b/manim/scene/scene.py index cbfd3095f2..0fe5996bd9 100644 --- a/manim/scene/scene.py +++ b/manim/scene/scene.py @@ -1326,7 +1326,7 @@ def get_embedded_method(method_name): cfg = Config() cfg.TerminalInteractiveShell.confirm_exit = False if get_ipython() is None: - shell = InteractiveShellEmbed.instance() + shell = InteractiveShellEmbed.instance(config=cfg) else: shell = InteractiveShellEmbed(config=cfg) hist = get_ipython().history_manager