我从 https://github.com/yoctocookbook/meta-custom/tree/master/recipes-python/python-helloworld 添加了 python-helloworld到我的 yocto 构建,效果很好。文件被预编译并复制到镜像:
ls /usr/lib/python2.7/site-packages/helloworld
__init__.py __init__.pyc main.py main.pyc
我需要使用python3。将配方中的 inherit setuptools
更改为 inherit setuptools3
会将 python 3.7 而不是 2.7 添加到我的图像中,并且脚本可以工作,但预编译文件现在位于子文件夹 __pycache__
及其名称的扩展名:
ls /usr/lib/python3.7/site-packages/helloworld/__pycache__/
__init__.cpython-37.pyc main.cpython-37.pyc
我想从目标构建中删除 .py 源代码文件。
使用 setuptools,我可以删除 .py 文件,并且脚本使用 .pyc 文件可以正常工作。使用 setuptools3
,python3 在删除 .py 文件后引发 ModuleNotFoundError
。
移动并重命名(例如 __pycache__/main.cpython-37.pyc
到 main.pyc
)它会再次起作用。
告诉 setuptools3
以与 setuptools
相同的方式创建预编译 .pyc 文件以避免这种移动和重命名的正确方法是什么?
最佳答案
关于python - 如何以与setuptools相同的方式在bitbake配方中使用setuptools3存储pyc文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58611684/