I’m working with a python library (clickhouse_connect) that depends on getpass, a standard python library. I’m deploying that library to an embedded linux device, a Toradex iMX8QXP board. When I go to import the library from the Python3 command-line interpreter, I get a “module not found” error.
Getpass is a standard library in python, so I shouldn’t need to include anything in the local.conf file to include it. I’ve tested that I can see other standard library items like asyncio and datetime. I also tried to import getpass from the console itself to ensure that something in clickhouse wasn’t blocking the import.
I looked through the getpass documentation, and I see that the only reason getpass might not be included is if the device is running in WebAssembly:
This module does not work or is not available on WebAssembly. See WebAssembly platforms for more information.
I don’t know how to determine if my device is acting like a WebAssembly platform. The above seems like the most likely culprit though.
Does anyone know a workaround for this? Anything I can add in the yocto build to allow getpass to import?
System Configuration:
-
OS Image: built in Yocto based on Toradex reference multimedia image
-
Python Version: 3.12.10, from meta-python
-
Yocto Build: Scarthgap