Skip to main content

System Requirements

Python Version

Python 3.9 or higher required

Operating Systems

Windows, macOS, Linux (all supported)

Storage

~500MB for basic installation

RAM

4GB minimum, 8GB recommended

Prerequisites by Platform

Linux

ManimVTK requires system-level dependencies on Linux for text rendering (ManimPango).
  • Debian/Ubuntu
  • Fedora
  • Arch Linux
  • Other Distributions
sudo apt update
sudo apt install libpango1.0-dev pkg-config python3-dev
Tested on:
  • Ubuntu 20.04, 22.04, 24.04
  • Debian 11, 12
  • Google Colab
Linux headless environments: For rendering on servers without a display, you’ll need xvfb:
sudo apt install xvfb  # Debian/Ubuntu
sudo dnf install xorg-x11-server-Xvfb  # Fedora

macOS

No additional system dependencies required! Python 3.9+ is sufficient.
# Verify Python version
python3 --version

Windows

No additional system dependencies required! Python 3.9+ is sufficient.
Windows users: We recommend using Windows Terminal for the best CLI experience

Installation Methods

Install the latest stable release from the Python Package Index:
  • Basic Installation
  • Scientific Stack
  • Development Installation
pip install manimvtk[vtk]
This includes:
  • Core ManimVTK functionality
  • VTK rendering and export
  • All standard dependencies

Method 2: From Source

For development or the latest unreleased features:
# Clone the repository
git clone https://github.com/mathifylabs/manimVTK.git
cd manimVTK

# Install in editable mode with VTK support
pip install -e ".[vtk]"

# Or with all extras for development
pip install -e ".[vtk,dev]"
Editable mode (-e) allows you to modify the source code and see changes immediately without reinstalling

Verify Installation

After installation, verify that ManimVTK is working correctly:
# Check version
manimvtk --version

# Should output something like: ManimVTK 0.19.0

Test Rendering

Create a test file test.py:
from manimvtk import *

class Test(Scene):
    def construct(self):
        circle = Circle()
        self.play(Create(circle))
Render it:
manimvtk -pql test.py Test
If a video file opens, your installation is working correctly!

Test VTK Export

Test VTK functionality:
manimvtk -ql test.py Test --vtk-export
Check for VTK output:
ls media/vtk/Test/
# Should show: Test_final.vtp

Troubleshooting

This means ManimPango failed to install, usually due to missing system dependencies.Solution:
  1. Install system dependencies (see Prerequisites section above)
  2. Reinstall: pip install --force-reinstall manimpango
VTK was not installed or the installation failed.Solution:
pip install vtk
# Or reinstall with VTK extras
pip install --force-reinstall manimvtk[vtk]
This occurs in headless environments (servers without display).Solution:
# Install xvfb
sudo apt install xvfb

# Run with xvfb wrapper
xvfb-run -a manimvtk -pql example.py Scene
You may need to use --user flag or a virtual environment.Solution:
# Option 1: Install for current user only
pip install --user manimvtk[vtk]

# Option 2: Use a virtual environment (recommended)
python -m venv venv
source venv/bin/activate  # On Windows: venv\Scripts\activate
pip install manimvtk[vtk]
ManimVTK uses FFmpeg for video encoding.Solution:
# Ubuntu/Debian
sudo apt install ffmpeg

# macOS
brew install ffmpeg

# Windows
# Download from https://ffmpeg.org/download.html
# Add to PATH
Using virtual environments helps avoid dependency conflicts:
  • venv (Built-in)
  • conda
  • uv (Fast)
# Create virtual environment
python -m venv manimvtk-env

# Activate (Linux/macOS)
source manimvtk-env/bin/activate

# Activate (Windows)
manimvtk-env\Scripts\activate

# Install ManimVTK
pip install manimvtk[vtk]

Updating ManimVTK

Keep your installation up to date:
# Update to latest version
pip install --upgrade manimvtk[vtk]

# Update from source
cd manimVTK
git pull
pip install -e ".[vtk]"

Optional Dependencies

Additional packages you might want to install:
# For advanced VTK visualization
pip install pyvista

# For Jupyter notebook support
pip install jupyter ipywidgets

# For 3D file export
pip install trimesh

# For advanced plotting
pip install matplotlib

Next Steps