python3 yocto bitbake食谱问题
让我说,这个食谱在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 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论