Skip to content

Running opengl without -p flag and interactive_embed error #1858

Open
@k4pran

Description

@k4pran

Description of bug / unexpected behavior

When running opengl without the preview flag -p and interactive_embed I get the error AttributeError: 'NoneType' object has no attribute 'is_closing'

Expected behavior

I am not sure what the expected behaviour would be beyond handling it gracefully, maybe it should default to preview when using opengl?

How to reproduce the issue

Running the command - python -m manim ../scenes/playground.py --renderer opengl on a scene that calls interactive_embed()

Code for reproducing the problem
from manim import *

class SphereTest(Scene):
    def construct(self):
        a = Sphere()
        self.play(Create(a))
        self.interactive_embed()

Additional media files

Images/GIFs

Logs

Terminal output
Manim Community v0.8.0

/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/runpy.py:125: RuntimeWarning: 'manim.__main__' found in sys.modules after import of package 'manim', but prior to execution of 'manim.__main__'; this may result in unpredictable behaviour
  warn(RuntimeWarning(msg))
[08/02/21 17:59:48] DEBUG    Hashing ...                          hashing.py:318
[08/02/21 17:59:49] DEBUG    Hashing done in 0.568783 s.          hashing.py:330
                    DEBUG    Hash generated :                     hashing.py:333
                             1491410813_1760937233_3449842885                   
                    DEBUG    List of the first few animation       caching.py:56
                             hashes of the scene:                               
                             ['1491410813_1760937233_3449842885']               
Python 3.7.4 (v3.7.4:e09359112e, Jul  8 2019, 14:54:52) 
Type 'copyright', 'credits' or 'license' for more information
IPython 7.24.1 -- An enhanced Interactive Python. Type '?' for help.

In [1]: Traceback (most recent call last):
╭──────────────────────────────────────────────────────────────────────────────╮
│ File                                                                         │
│"/Users/ryan/PycharmProjects/manim-community/manim/cli/render/commands.py",   │
│line 109, in render                                                           │
│    106                     scene_classes = scene_classes_from_file(file)     │
│    107                     SceneClass = scene_classes[0]                     │
│    108                     scene = SceneClass(renderer)                      │
│  ❱ 109                     status = scene.render()                           │
│    110                     if status:                                        │
│    111                         continue                                      │
│    112                     else:                                             │
│ File "/Users/ryan/PycharmProjects/manim-community/manim/scene/scene.py", line│
│215, in render                                                                │
│     212         """                                                          │
│     213         self.setup()                                                 │
│     214         try:                                                         │
│  ❱  215             self.construct()                                         │
│     216         except EndSceneEarlyException:                               │
│     217             pass                                                     │
│     218         except RerunSceneException as e:                             │
│ File "../scenes/playground.py", line 323, in construct                       │
│    320     def construct(self):                                              │
│    321         a = Sphere()                                                  │
│    322         self.play(Create(a))                                          │
│  ❱ 323         self.interactive_embed()                                      │
│    324                                                                       │
│    325 # class P(Scene):                                                     │
│    326 #     def func(self, u, v):                                           │
│ File "/Users/ryan/PycharmProjects/manim-community/manim/scene/scene.py", line│
│1060, in interactive_embed                                                    │
│    1057                                                                      │
│    1058         self.camera.model_matrix = self.camera.default_model_matrix  │
│    1059                                                                      │
│  ❱ 1060         self.interact(shell, keyboard_thread)                        │
│    1061                                                                      │
│    1062     def interact(self, shell, keyboard_thread):                      │
│    1063         event_handler = RerunSceneHandler(self.queue)                │
│ File "/Users/ryan/PycharmProjects/manim-community/manim/scene/scene.py", line│
│1073, in interact                                                             │
│    1070         assert self.queue.qsize() == 0                               │
│    1071                                                                      │
│    1072         last_time = time.time()                                      │
│  ❱ 1073         while not (self.renderer.window.is_closing or self.quit_inter│
│    1074             if not self.queue.empty():                               │
│    1075                 tup = self.queue.get_nowait()                        │
│    1076                 if tup[0].startswith("rerun"):                       │
╰──────────────────────────────────────────────────────────────────────────────╯
AttributeError: 'NoneType' object has no attribute 'is_closing'

System specifications

System Details
  • OS (with version, e.g Windows 10 v2004 or macOS 10.15 (Catalina)):
  • RAM:
  • Python version (python/py/python3 --version):
  • Installed modules (provide output from pip list):
PASTE HERE
LaTeX details
  • LaTeX distribution (e.g. TeX Live 2020):
  • Installed LaTeX packages:
FFMPEG

Output of ffmpeg -version:

PASTE HERE

Additional comments

Metadata

Metadata

Assignees

No one assigned

    Labels

    issue:bugSomething isn't working... For use in issuesopenglConcerning the OpenGL renderer.

    Type

    No type

    Projects

    Status

    🆕 New

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions