Description:
When installing Behind-the-Meter (snl_btm) through the QuESt interface on macOS (Apple Silicon), the installation fails while building Kivy==2.0.0.
The build process throws a packaging.requirements.InvalidRequirement error related to sys_platform == "win32" inside extras_require[gstreamer], and also reports missing SDL2 and GStreamer frameworks.
ERROR: Dependency for context.pyx not resolved: config.pxi
packaging.requirements.InvalidRequirement: Expected end or semicolon (after name and no valid version specifier)
sys_platform == "win32"
This makes the btm virtual environment incomplete — no btm executable is generated, and clicking “Launch Behind-the-Meter” results in /bin/bash: btm: command not found.
Workaround:
Updating the setup.py dependency from kivy==2.0.0 to kivy==2.1.0 (same as used by snl_data_manager) resolves the issue.
After reinstalling snl_btm with:
pip install --no-deps ./snl_libraries/snl_btm
the installation succeeds and the BTM tool launches correctly.
System Info:
- macOS 15.2 (Apple Silicon)
- Python 3.9.25 (via Miniconda)
- QuESt version 2.0
- pip 23.0.1 → 25.3
Description:
When installing Behind-the-Meter (snl_btm) through the QuESt interface on macOS (Apple Silicon), the installation fails while building Kivy==2.0.0.
The build process throws a packaging.requirements.InvalidRequirement error related to sys_platform == "win32" inside extras_require[gstreamer], and also reports missing SDL2 and GStreamer frameworks.
This makes the btm virtual environment incomplete — no btm executable is generated, and clicking “Launch Behind-the-Meter” results in /bin/bash: btm: command not found.
Workaround:
Updating the setup.py dependency from kivy==2.0.0 to kivy==2.1.0 (same as used by snl_data_manager) resolves the issue.
After reinstalling snl_btm with:
the installation succeeds and the BTM tool launches correctly.
System Info: