manim icon indicating copy to clipboard operation
manim copied to clipboard

Python 3.14 is not supported

Open henrikmidtiby opened this issue 1 month ago • 1 comments

Description of bug / unexpected behavior

If I try to install manim inside a virtual python 3.14 environment, it doesn't work. The issue is that there are no versions of dearpygui that support python 3.14 at the moment.

Expected behavior

I would expect that manim worked with python 3.14.

How to reproduce the issue

git clone https://github.com/ManimCommunity/manim.git
cd manim
uv python install 3.14

<modify pyproject.toml line 24 to read>
requires-python = ">=3.14"

uv sync

This gives the following error.

Full console output
  × No solution found when resolving dependencies:
  ╰─▶ Because only the following versions of dearpygui are available:
          dearpygui<=1.0.0
          dearpygui==1.0.1
          dearpygui==1.0.2
          dearpygui==1.1
          dearpygui==1.1.1
          dearpygui==1.1.2
          dearpygui==1.1.3
          dearpygui==1.2
          dearpygui==1.2.1
          dearpygui==1.2.2
          dearpygui==1.2.3
          dearpygui==1.3.0
          dearpygui==1.3.1
          dearpygui==1.4.0
          dearpygui==1.5.0
          dearpygui==1.5.1
          dearpygui==1.6
          dearpygui==1.6.1
          dearpygui==1.6.2
          dearpygui==1.7.0
          dearpygui==1.7.1
          dearpygui==1.7.2
          dearpygui==1.7.3
          dearpygui==1.8.0
          dearpygui==1.9.0
          dearpygui==1.9.1
          dearpygui==1.10.0
          dearpygui==1.10.1
          dearpygui==1.11.0
          dearpygui==1.11.1
          dearpygui==2.0.0
          dearpygui==2.1.0
      and dearpygui==1.0.0 has no wheels with a matching Python version tag (e.g., `cp314`), we can conclude that dearpygui>=1.0.0,<1.0.1
      cannot be used.
      And because dearpygui==1.0.1 was yanked (reason: viewport broken) and dearpygui>=1.0.2,<=1.1.1 has no wheels with a matching Python
      version tag (e.g., `cp314`), we can conclude that dearpygui>=1.0.2,<=1.1.1 cannot be used.
      And because dearpygui==1.1.2 was yanked (reason: Exit code cleanup wrong) and dearpygui>=1.1.3,<=1.6.2 has no wheels with a matching
      Python version tag (e.g., `cp314`), we can conclude that dearpygui>=1.1.3,<=1.6.2 cannot be used.
      And because dearpygui==1.7.0 was yanked (reason: regression) and dearpygui>=1.7.1 has no wheels with a matching Python version tag
      (e.g., `cp314`), we can conclude that dearpygui>=1.7.1 cannot be used.
      And because manim[gui] depends on dearpygui>=1.0.0 and your project requires manim[gui], we can conclude that your project's
      requirements are unsatisfiable.

      hint: Pre-releases are available for `dearpygui` in the requested range (e.g., 2.0.0rc1), but pre-releases weren't enabled (try:
      `--prerelease=allow`)

      hint: Wheels are available for `dearpygui` (v1.0.0) with the following Python ABI tags: `cp36m`, `cp37m`, `cp38`, `cp39`, `cp310`

Additional comments

henrikmidtiby avatar Oct 27 '25 10:10 henrikmidtiby

We are aware about this fact and the way to solve it is to force your virtual environment to use Python 3.13 until Manim and all the external libraries it uses are compatible with Python 3.14.

The solution is:

uv python install 3.13
uv python pin 3.13
uv init manimations
cd manimations
uv add -U -p 3.13 manim

uwezi avatar Oct 27 '25 10:10 uwezi