Open
Description
CircuitPython version
N/A - this issue relates to library usage on non-native targets.
Code/REPL
import adafruit_is31fl3741
Behavior
Traceback (most recent call last):
File "/home/pi/code.py", line 4, in <module>
import adafruit_is31fl3741
File "/home/pi/.local/lib/python3.7/site-packages/adafruit_is31fl3741/__init__.py", line 61, in <module>
class IS31FL3741:
File "/home/pi/.local/lib/python3.7/site-packages/adafruit_is31fl3741/__init__.py", line 92, in IS31FL3741
allocate: int = NO_BUFFER,
NameError: name 'busio' is not defined
Description
If an issue occurs during initial installation and a library module that is used "only for typing" is missing, the try/except currently used:
try:
# Used only for typing
import foo_module
import bar_module
except ImportError:
pass
will silently consume the import exception and continue to load the rest of the library module code. This will just lead to a different, and very confusing, issue later when the missing module is referenced in relation to type checking.
Additional information
Related forum post:
https://forums.adafruit.com/viewtopic.php?f=47&t=189065