Skip to content

Conversation

@jsonvillanueva
Copy link
Member

Overview: What does this pull request change?

This PR changes the way the IPython terminal is instantiated and works around the threading issues with sqlite3 by manually assigning the history file.

Further Information and Comments

I'm not certain that this is the best fix, but it is a fix derived from a couple of workarounds:

Previously this would cause errors like this when running an interactive_embed scene:

IPython 8.12.2 -- An enhanced Interactive Python. Type '?' for help.

Loading history failed
sqlite3.ProgrammingError: SQLite objects created in a thread can only be used in that same thread. The object was created in thread id 9572 and this is thread id 8556.

During handling of the above exception, another exception occurred:

Reviewer Checklist

  • The PR title is descriptive enough for the changelog, and the PR is labeled correctly
  • If applicable: newly added non-private functions and classes have a docstring including a short summary and a PARAMETERS section
  • If applicable: newly added functions and classes are tested

@jsonvillanueva jsonvillanueva added the pr:bugfix Bug fix for use in PRs solving a specific issue:bug label Jul 31, 2023
@jsonvillanueva jsonvillanueva requested a review from behackl July 31, 2023 03:33
Copy link
Collaborator

@MrDiver MrDiver left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, seems to work on my machine and fixes the issue

@MrDiver MrDiver merged commit 2c74f62 into ManimCommunity:main Aug 4, 2023
@behackl behackl added this to the v0.18.0 milestone Aug 8, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

pr:bugfix Bug fix for use in PRs solving a specific issue:bug

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

3 participants