Skip to content

fix: add missing dependencies to setup.cfg#2460

Open
Helbronner wants to merge 1 commit into3b1b:masterfrom
Helbronner:fix-missing-deps
Open

fix: add missing dependencies to setup.cfg#2460
Helbronner wants to merge 1 commit into3b1b:masterfrom
Helbronner:fix-missing-deps

Conversation

@Helbronner
Copy link
Copy Markdown

  • Added trimesh and pywavefront to install_requires in setup.cfg
  • Sorted dependencies alphabetically to comply with project linting standards
  • Resolved ModuleNotFoundError during runtime after an editable install

Closes #2459

Motivation

As discussed in #2459, trimesh and pywavefront are currently listed in requirements.txt but are missing from setup.cfg. This discrepancy leads to a silent failure in two critical scenarios:

  1. Editable Install: Users who download the source code and run pip install -e . will have an incomplete environment. While the command finishes without errors, the library will crash at runtime with a ModuleNotFoundError.
  2. Distribution Risk: If the package is uploaded to PyPI in its current state, a standard pip install manimgl will also result in a broken installation for the same reason, as PyPI distributions rely on the metadata defined in setup.cfg.

This Pull Request ensures that all necessary dependencies are centrally managed in setup.cfg, guaranteeing a consistent and robust setup experience for both developers and end-users.

Proposed changes

  • Included trimesh and pywavefront in the install_requires list within setup.cfg
  • Reorganized the dependency list alphabetically to maintain project consistency and simplify future maintenance.

Test

I verified the fix by performing a clean installation in an isolated virtual environment to ensure pip correctly resolves the new dependencies from setup.cfg.

Code:

# Create a clean virtual environment
python3 -m venv venv

# Enter the virtual environment (macOS)
source venv/bin/activate

# Install the project in editable mode (without -r requirements.txt)
python3 -m pip install -e .

# Run example_scenes.py
manimgl example_scenes.py OpeningManimExample -ol

Result:
The environment was initialized successfully without requiring manual dependency installation. The OpeningManimExample scene rendered correctly, confirming that the runtime errors are resolved.

Thanks for your time and review!

- Add `trimesh` and `pywavefront` to `install_requires` in `setup.cfg`
- Sort dependencies alphabetically to comply with project linting standards
- Resolve `ModuleNotFoundError` during runtime after an editable install

Closes 3b1b#2459
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Bug] trimesh and pywavefront are missing from install_requires in setup.cfg

1 participant