python3 yocto bitbake食谱问题

发布于 2025-01-22 07:02:10 字数 3958 浏览 5 评论 0原文

让我说,这个食谱在Python 2.7上可以很好地在我们的环境中效果很好,但是在Python3却没有的新环境中。我不知道为什么。

文件夹/文件结构:

zurka-plugin-extensions-EstTV-py3   ---> Folder
    setup.py
    dialog.py
    main.py
    plugin.pyc
    __init__.pyc
    Esttv.png

BB食谱:

DESCRIPTION = "EstTV"
MAINTAINER = "Est"
PV = "4.0"
PR = "r0"

require conf/license/license-gplv2.inc

DEPENDS = "python3 python3-cython python3-cython-native"
RDEPENDS:${PN} = " python3-requests python3-multiprocessing python3-image python3-json ffmpeg "
RRECOMMENDS:${PN} = " python3-pillow nesto-plugin-systemplugins-kauz "

#inherit pkgconfig lib_package setuptools distutils     #py2 - working solution
inherit pkgconfig lib_package setuptools3               #py3??????

SRC_URI = "file://setup.py \
           file://dialog.py \
           file://main.py \
           file://__init__.pyc \
           file://plugin.pyc \
           file://Esttv.png \
"

S = "${WORKDIR}"

do_compile () {
     python setup.py build_ext --inplace
}

do_install () {
    install -d ${D}${libdir}/zurka/python/Plugins/Extensions/EstTV

    install    ${WORKDIR}/*.pyc  ${D}${libdir}/zurka/python/Plugins/Extensions/EstTV/

    install -m 0755 ${S}/dialog.so ${D}${libdir}/zurka/python/Plugins/Extensions/EstTV/
    install -m 0755 ${S}/main.so ${D}${libdir}/zurka/python/Plugins/Extensions/EstTV/

}

Cythonize Script(setup.py):

from distutils.core import setup
from Cython.Build import cythonize

def cythonize_modules():
    return cythonize([
        "dialog.py",
        "main.py",
    ],
        language_level=3,  # python3
    )

setup(ext_modules=cythonize_modules())

错误:

ERROR: zurka-plugin-extensions-EstTV-py3-4.0-r0 do_fetch: Fetcher failure: 
Unable to find file file://__init__.pyc anywhere. 
The paths that were searched were:
    /mnt/h4/7.0/meta-mi/recipes-plugins/zurka-plugin-extensions-EstTV-py3-4.0/mi
    /mnt/h4/7.0/meta-mi/recipes-plugins/zurka-plugin-extensions-EstTV-py3/mi 
    /mnt/h4/7.0/meta-mi/recipes-plugins/files/mi
    /mnt/h4/7.0/meta-mi/recipes-plugins/zurka-plugin-extensions-EstTV-py3/
    etc...

您可以看到__ init __. pyc在文件夹zurka-plugin-plugin-extensions-esttv-py3 。

继承呢?无法继承文件类/setUptools.bbClass。

当我放置setuptools3错误时;缺少文件(__ Init __. Pyc)。

当我放置DISTITILS时,错误再次不同(我不记得确切地说是哪一个)。

那么,接下来我可以做什么? 谢谢你!


编辑:

在我更改后,从python setup.py build_ext- inplace python3 $ {s}/setup.py build_ext_ext-inplace-inplace现在我有另一种类型错误。

Log data follows:
| DEBUG: Executing shell function do_compile
| Traceback (most recent call last):
|   File "/mnt/h4/7.0/builds/ja2/release/sf3000/tmp/work/cortexa15hf-neon-vfpv4-oe-linux-gnueabi/zurka-plugin-extensions-EstTV-py3/5.0-r0/setup.py", line 5, in <module>
|     ext_modules = cythonize("dialog.py")
|   File "/mnt/h4/7.0/builds/ja2/release/sf3000/tmp/work/cortexa15hf-neon-vfpv4-oe-linux-gnueabi/zurka-plugin-extensions-EstTV-py3/5.0-r0/recipe-sysroot-native/usr/lib/python3.9/site-packages/Cython/Build/Dependencies.py", line 965, in cythonize
|     module_list, module_metadata = create_extension_list(
|   File "/mnt/h4/7.0/builds/ja2/release/sf3000/tmp/work/cortexa15hf-neon-vfpv4-oe-linux-gnueabi/zurka-plugin-extensions-EstTV-py3/5.0-r0/recipe-sysroot-native/usr/lib/python3.9/site-packages/Cython/Build/Dependencies.py", line 815, in create_extension_list
|     for file in nonempty(sorted(extended_iglob(filepattern)), "'%s' doesn't match any files" % filepattern):
|   File "/mnt/h4/7.0/builds/ja2/release/sf3000/tmp/work/cortexa15hf-neon-vfpv4-oe-linux-gnueabi/zurka-plugin-extensions-EstTV-py3/5.0-r0/recipe-sysroot-native/usr/lib/python3.9/site-packages/Cython/Build/Dependencies.py", line 114, in nonempty
|     raise ValueError(error_msg)
| ValueError: 'dialog.py' doesn't match any files

Let me say this recipe works just fine on our environment with python 2.7, but on new environment where python3 is not. I have no clue why.

Folder/files structure:

zurka-plugin-extensions-EstTV-py3   ---> Folder
    setup.py
    dialog.py
    main.py
    plugin.pyc
    __init__.pyc
    Esttv.png

BB recipe:

DESCRIPTION = "EstTV"
MAINTAINER = "Est"
PV = "4.0"
PR = "r0"

require conf/license/license-gplv2.inc

DEPENDS = "python3 python3-cython python3-cython-native"
RDEPENDS:${PN} = " python3-requests python3-multiprocessing python3-image python3-json ffmpeg "
RRECOMMENDS:${PN} = " python3-pillow nesto-plugin-systemplugins-kauz "

#inherit pkgconfig lib_package setuptools distutils     #py2 - working solution
inherit pkgconfig lib_package setuptools3               #py3??????

SRC_URI = "file://setup.py \
           file://dialog.py \
           file://main.py \
           file://__init__.pyc \
           file://plugin.pyc \
           file://Esttv.png \
"

S = "${WORKDIR}"

do_compile () {
     python setup.py build_ext --inplace
}

do_install () {
    install -d ${D}${libdir}/zurka/python/Plugins/Extensions/EstTV

    install    ${WORKDIR}/*.pyc  ${D}${libdir}/zurka/python/Plugins/Extensions/EstTV/

    install -m 0755 ${S}/dialog.so ${D}${libdir}/zurka/python/Plugins/Extensions/EstTV/
    install -m 0755 ${S}/main.so ${D}${libdir}/zurka/python/Plugins/Extensions/EstTV/

}

Cythonize script (setup.py):

from distutils.core import setup
from Cython.Build import cythonize

def cythonize_modules():
    return cythonize([
        "dialog.py",
        "main.py",
    ],
        language_level=3,  # python3
    )

setup(ext_modules=cythonize_modules())

Error:

ERROR: zurka-plugin-extensions-EstTV-py3-4.0-r0 do_fetch: Fetcher failure: 
Unable to find file file://__init__.pyc anywhere. 
The paths that were searched were:
    /mnt/h4/7.0/meta-mi/recipes-plugins/zurka-plugin-extensions-EstTV-py3-4.0/mi
    /mnt/h4/7.0/meta-mi/recipes-plugins/zurka-plugin-extensions-EstTV-py3/mi 
    /mnt/h4/7.0/meta-mi/recipes-plugins/files/mi
    /mnt/h4/7.0/meta-mi/recipes-plugins/zurka-plugin-extensions-EstTV-py3/
    etc...

As you can see __init__.pyc is inside folder zurka-plugin-extensions-EstTV-py3.

What about inherit, when i put setuptools (without 3) error is different; Could not inherit file classes/setuptools.bbclass.

When i put setuptools3 error is; missing file (__init__.pyc).

When i put distutils, error is different again (i can't remember which one exactly).

So, what i can do next?
Thank you!


EDIT:

after i change do compile line from python setup.py build_ext --inplace to python3 ${S}/setup.py build_ext --inplace now i have another type of error.

Log data follows:
| DEBUG: Executing shell function do_compile
| Traceback (most recent call last):
|   File "/mnt/h4/7.0/builds/ja2/release/sf3000/tmp/work/cortexa15hf-neon-vfpv4-oe-linux-gnueabi/zurka-plugin-extensions-EstTV-py3/5.0-r0/setup.py", line 5, in <module>
|     ext_modules = cythonize("dialog.py")
|   File "/mnt/h4/7.0/builds/ja2/release/sf3000/tmp/work/cortexa15hf-neon-vfpv4-oe-linux-gnueabi/zurka-plugin-extensions-EstTV-py3/5.0-r0/recipe-sysroot-native/usr/lib/python3.9/site-packages/Cython/Build/Dependencies.py", line 965, in cythonize
|     module_list, module_metadata = create_extension_list(
|   File "/mnt/h4/7.0/builds/ja2/release/sf3000/tmp/work/cortexa15hf-neon-vfpv4-oe-linux-gnueabi/zurka-plugin-extensions-EstTV-py3/5.0-r0/recipe-sysroot-native/usr/lib/python3.9/site-packages/Cython/Build/Dependencies.py", line 815, in create_extension_list
|     for file in nonempty(sorted(extended_iglob(filepattern)), "'%s' doesn't match any files" % filepattern):
|   File "/mnt/h4/7.0/builds/ja2/release/sf3000/tmp/work/cortexa15hf-neon-vfpv4-oe-linux-gnueabi/zurka-plugin-extensions-EstTV-py3/5.0-r0/recipe-sysroot-native/usr/lib/python3.9/site-packages/Cython/Build/Dependencies.py", line 114, in nonempty
|     raise ValueError(error_msg)
| ValueError: 'dialog.py' doesn't match any files

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文