pyImport function
Loads a python module
Implementation
DartPyModule pyImport(String module) {
_ensureInitialized();
if (_moduleMap.containsKey(module)) {
return _moduleMap[module]!;
}
final mstring = module.toNativeUtf8();
final pyString = dartpyc.PyUnicode_DecodeFSDefault(mstring.cast<Char>());
malloc.free(mstring);
final pyImport = dartpyc.PyImport_Import(pyString);
dartpyc.Py_DecRef(pyString);
if (pyImport != nullptr) {
final _mod = DartPyModule(module, pyImport);
_moduleMap[module] = _mod;
return _mod;
} else {
throw DartPyException(
'Importing python module $module failed, make sure the $module is on your PYTHONPATH\n eg. export PYTHONPATH=\$PYTHONPATH:/path/to/$module');
}
}