This one seems hard to solve!
The lines above will produce the (not very helpful) error message ImportError: dlopen: Load failed.
_camera2 = imp.load_dynamic("_camera2","C:\\sys\\bin\\kf__camera2.pyd")
_camera2 = imp.load_dynamic("_camera2","kf__camera2.pyd")
The error above might be caused by a difference in the capabilities of the module and the Python Script Shell. I think this is a bit odd - it would make sense if the Shell doesn't have a cap. that the module requires, but that's not the case.
I'm using the PythonScriptShell_2.0.0_high_capas.sis, with capabilities: ReadDeviceData, WriteDeviceData, SwEvent, NetworkServices, LocalServices, ReadUserData, WriteUserData, Location, UserEnvironment.
The camera2 module has capabilities: NetworkServices, LocalServices, ReadUserData, WriteUserData, Location, UserEnvironment.
I used SISContents to change the module cap. and tried to sign it at Symbian Signed. As soon as I receive and test the module I'll update this info.