首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Yocto scikit食谱-学习

Yocto scikit食谱-学习
EN

Stack Overflow用户
提问于 2021-01-12 07:47:41
回答 1查看 350关注 0票数 0

我正在尝试为scikit-learn创建一个yocto recipe包。这取决于scipy包。我能够使用:https://github.com/gpanders/meta-scipy成功地构建scipy包。

当我运行bitbake python3-scikit-learn时,我得到以下错误:ModuleNotFoundError: No module named 'scipy'

我按照下面的顺序执行这些命令。

一旦我克隆/复制了scipy配方和meta-scipy中列出的补丁,我就可以运行bitbake python3-scipy了,构建成功了。

然后,我创建了一个名为python3-scikit-learn_0.23.2.bbrecipe文件,其内容如下所示。

代码语言:javascript
复制
PYPI_PACKAGE = "scikit-learn"

LICENSE = "BSD"
LIC_FILES_CHKSUM  = "file://PKG-INFO;beginline=8;endline=8;md5=40ee42dc5a49f1617c5c78f16c50e065"

SRC_URI[sha256sum] = "20766f515e6cd6f954554387dfae705d93c7b544ec0e6c6a5d8e006f6f7ef480"

inherit pypi setuptools3

#DEPENDS = "${PYTHON_PN}-numpy-native ${PYTHON_PN}-numpy ${PYTHON_PN}-scipy ${PYTHON_PN}-joblib ${PYTHON_PN}"
DEPENDS = "${PYTHON_PN}-numpy-native ${PYTHON_PN}-numpy ${PYTHON_PN}-scipy ${PYTHON_PN}"

RDEPENDS_${PN} += "${PYTHON_PN}-numpy ${PYTHON_PN}-scipy"

当我运行bitbake python3-scikit-learn时,我得到了这个ModuleNotFoundError: No module named 'scipy'

检查了devshell python3正在查找的路径(poky/build/tmp-glibc/work/aarch64-oe-linux/python3-scikit-learn/0.23.2-r0/recipe-sysroot-native/usr/lib/python3.8/site-packages),我只能在那里看到numpy包,但scipy包不在那里。

ls命令输出:

代码语言:javascript
复制
 numpy
 numpy-1.17.4-py3.8.egg-info
 pkg_resources
 __pycache__
 README.txt
 setuptools
 setuptools-45.2.0-py3.8.egg-info

谁能告诉我如何包含python3-scipy包,以便它将被包含/复制到devshell。或者我需要更新/修复其他东西。

感谢任何关于这方面的指导。

EN

回答 1

Stack Overflow用户

发布于 2021-01-13 03:31:33

您还可以运行:

代码语言:javascript
复制
bitbake -c devshell python3-scipy

并查看食谱将所有内容打包到rootfs中的确切位置。缺省情况下,根文件系统是:https://git.yoctoproject.org/cgit/cgit.cgi/poky/tree/meta/conf/bitbake.conf#n457

代码语言:javascript
复制
IMAGE_ROOTFS = "${WORKDIR}/rootfs"

因此,看看python3-scipy在${WORKDIR}/rootfs中放入了什么(${WORKDIR}是在执行devshell之后被抛入的位置,所以只需从那里cd到rootfs )。

如果python3-scipy将其放入不在路径中的某个位置,则可以将其添加到路径中。

您可以看到python3-scipy是如何查找库的:https://github.com/gpanders/meta-scipy/blob/1c07824202af668ef1539c3de392cf737c5ba3fd/recipes-devtools/python/python3-scipy_1.5.3.bb#L29

代码语言:javascript
复制
# Tell Numpy to look in target sysroot site-packages directory for libraries
LDFLAGS_append = " -L${STAGING_LIBDIR}/${PYTHON_DIR}/site-packages/numpy/core/lib"
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65676129

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档