最近在使用阿里云的图像识别SDK,在ubuntu主机上使用pip install alibabacloud_imagerecog20190930 安装modules以后就可以运行demo程序了,于是打算将SDK移植到嵌入式板子上面,然后在板子上跑一下demo。但是发现好像不是想象的这么简单,在板子上执行
pip install alibabacloud_imagerecog20190930 -i https://pypi.tuna.tsinghua.edu.cn/simple
pip3 install -U pip -i http://pypi.douban.com/simple --trusted-host pypi.douban.com
继续尝试pip install
pip3 install alibabacloud_imagerecog20190930 -i http://pypi.douban.com/simple --trusted-host pypi.douban.com
还是报错,可以看到这次其实已经下载完SDK了,但是发现在build 依赖的时候提示找不到工具链,因为嵌入式开发板上并没有工具链,所以最后无法通过pip install来安装了。
所以下面记录一下yocto集成python modules的详细过程,供大家参考
pip3 install pipoe
pipoe -p alibabacloud_imagerecog20190930 --python python3
经过这一步pipoe会自动生成如下文件:
其中所有.bb文件均是依赖的modules, python3_versions.inc是指定每个modules当前的版本号
3. 添加生成的文件到yocto编译环境
这里面主要有三步:
- 将所有的.bb文件存放到recipes-devtool/python/路径下
- 将python3_versions.inc存放到发行版的配置文件夹路径并在发行版的配置中添加
如下图所示,我在openstlinux-eglfs.conf里面使用 require include/python3-versions.inc
- 将添加的modules放到任意一个packagegroup里面
如下图所示我把刚才那些所有的依赖modules都添加到packagegroup-framework-tools.bb这个packagegroup里面了,请确保你添加的packagegroup一定会被编译进根文件系统里面![在这里插入图片描述](https://img-blog.csdnimg.cn/d45e449d1d2848c1879e73acdbb3697f.png