Python functions in classes are executed by the Python that is executing bitbake, which doesn't have access to the modules in the native sysroot (and won't, as any compiled modules in there are linked against the native python, not the host python).
You can solve this by either mandating python-cryptography on the host, or writing a standalone script that is executed using nativepython (which is the python built by python-native). Ross On 30 November 2017 at 00:09, <aaron_wri...@selinc.com> wrote: > I have a python function that I've added to PACKAGEFUNCS in a bbclass, and > I want to use python-cryptography in that function. However, sys.path > doesn't seem setup to allow this import. I'm curious to know the best known > method for using python modules that are outside of <LAYER>/lib directory. > Should I just append STAGING_LIBDIR_NATIVE to sys.path? > > python do_stuff() { > import cryptography # <-- this fails > > # Other stuff... > } > > python () { > if (not bb.data.inherits_class("native", d) and > not bb.data.inherits_class("cross", d)): > > d.appendVar("PACKAGEFUNCS", " do_stuff") > d.appendVarFlag( > "do_package", > "depends", > " python-cryptography-native:do_populate_sysroot") > } > -- > _______________________________________________ > yocto mailing list > yocto@yoctoproject.org > https://lists.yoctoproject.org/listinfo/yocto > >
-- _______________________________________________ yocto mailing list yocto@yoctoproject.org https://lists.yoctoproject.org/listinfo/yocto