Я пытаюсь написать программу Hello World на Manim.
Я установил Manim и его необходимые программы и могу запустить пример кода из командной строки, как и предполагалось.Этот пример кода работает необычным образом;пользователь запускает команду, указывающую не только файл .py, но и отдельный класс внутри него, и Python выполняет код определения класса, по-видимому, без создания экземпляра класса.
Теперь я пытаюсь написать автономный код.py файл, который работает путем создания экземпляра класса при запуске (я запускаю его в Visual Studio Community 2019), а не требую внешних команд.
Я проверил многие из похожих вопросов, но, к сожалению, все онио программах Hello World в целом, даже охватывающих многие языки, отличные от Python.
Я обнаружил несколько ошибок AttributeError: у объекта '____' нет атрибута '____' при поиске, включая это полезное объяснение (https://stackoverflow.com/a/8696339/2364796), но ничего, что, кажется, не применимо к коду, который я явно написал.
Я также проверил в IRC, и было предложено, что проблема вызывается в импортированном коде. Однако тот же код функционирует должным образомпри импорте в образец, поэтому я должен работать с ним неправильно.
Это текущий код моей программы Hello World.
from manimlib.imports import *
class GreetingScript(Scene):
def construct(self):
characters = TextMobject("Hello World!")
self.add(characters)
scene1 = Scene()
readthrough = GreetingScript(scene1)
Это сообщение об ошибке, сгенерированное вышеприведенным кодом.
Media will be stored in ./media\. You can change this behavior by writing a
diff
erent directory to media_dir.txt.
Traceback (most recent call last):
File "C:\Users\Admin\Documents\Visual Studio
2019\Projects\PythonApplication1\
PythonApplication1\PythonApplication1.py", line 8, in <module>
scene1 = Scene()
File "C:\Users\Admin\PortableApps\manim-0.1.5\manimlib\scene\scene.py",
line 3
7, in __init__
self, **self.file_writer_config,
File "C:\Users\Admin\PortableApps\manim-
0.1.5\manimlib\scene\scene_file_writer
.py", line 44, in __init__
self.init_output_directories()
File "C:\Users\Admin\PortableApps\manim-
0.1.5\manimlib\scene\scene_file_writer
.py", line 49, in init_output_directories
output_directory = self.output_directory or
self.get_default_output_director
y()
File "C:\Users\Admin\PortableApps\manim-
0.1.5\manimlib\scene\scene_file_writer
.py", line 80, in get_default_output_directory
filename = os.path.basename(self.input_file_path)
AttributeError: 'SceneFileWriter' object has no attribute 'input_file_path'
Press any key to continue . . .
Я ожидаю выводпрограмма для отображения текста «Hello World!», но фактическим выводом является AttributeError: у объекта 'SceneFileWriter' нет атрибута 'input_file_path', сопровождаемого остальной частью вышеприведенного сообщения.