$ ./bumblebee-status -m datetime
Traceback (most recent call last):
File "./bumblebee-status", line 36, in <module>
main()
File "./bumblebee-status", line 18, in main
inp=inp,
File "/home/cjlarose/dev/bumblebee-status/bumblebee/engine.py", line 82, in __init__
self._aliases = self._read_aliases()
File "/home/cjlarose/dev/bumblebee-status/bumblebee/engine.py", line 119, in _read_aliases
mod = importlib.import_module("bumblebee.modules.{}".format(module["name"]))
File "/usr/lib/python3.6/importlib/__init__.py", line 126, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "<frozen importlib._bootstrap>", line 978, in _gcd_import
File "<frozen importlib._bootstrap>", line 961, in _find_and_load
File "<frozen importlib._bootstrap>", line 950, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 655, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 678, in exec_module
File "<frozen importlib._bootstrap>", line 205, in _call_with_frames_removed
File "/home/cjlarose/dev/bumblebee-status/bumblebee/modules/cpu.py", line 10, in <module>
import psutil
ModuleNotFoundError: No module named 'psutil'
This appears to be caused by the way that aliases are implemented. Aliases for modules are defined in the modules themselves, and instances of bumblebee.engine.Engine
import all modules in their initializers in order to read those aliases.