Skip to content

Ensure devcontainer PATH exposes /opt/venv/bin in non-interactive Docker runs #13

Description

@alonshoa

Context

While verifying #6 inside the devcontainer image, Manim and manim-slides were installed in /opt/venv, but a plain non-interactive Docker shell did not expose /opt/venv/bin on PATH.

Observed

Running the container without explicitly setting PATH caused studio doctor to report missing Manim tools:

  • Python import: manim: No module named 'manim'
  • Python import: manim_slides: No module named 'manim_slides'
  • Manim CLI: manim was not found on PATH
  • Manim Slides CLI: manim-slides was not found on PATH

Inspecting the image showed the tools exist under /opt/venv/bin. After running with:

export PATH=/opt/venv/bin:/manim/.local/bin:/home/manimuser/.local/bin:/usr/local/bin:/usr/bin:/bin

python -m manim_studio.cli doctor passed and studio render matrix_work/vectors_ab_to_v --profile draft --beat resultant succeeded.

Expected

The devcontainer image should expose the intended Python virtual environment consistently for both VS Code devcontainer sessions and direct/non-interactive Docker runs.

Suggested fix

Update the Dockerfile or devcontainer configuration so /opt/venv/bin is part of the effective PATH for non-interactive commands.

Acceptance criteria

  • docker run ... manim-studio-devcontainer... bash -lc "python -m manim_studio.cli doctor" passes without manually exporting PATH.
  • manim, manim-slides, and Python imports resolve through the intended venv.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions