Как сохранить pyc-файлы с помощью setuptools3 в рецепте bitbake таким же образом, как это делает setuptools? - PullRequest
0 голосов
/ 29 октября 2019

Я добавил python-helloworld из https://github.com/yoctocookbook/meta-custom/tree/master/recipes-python/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 поднимает ModuleNotFoundError после удаления файлов .py.

Перемещение и переименование (например, __pycache__/main.cpython-37.pyc в main.pyc) снова работает.

Что такоеправильный способ указать setuptools3 создавать прекомпилированные файлы .pyc таким же образом, как setuptools, чтобы избежать этого перемещения и переименования?

1 Ответ

0 голосов
/ 29 октября 2019

Что бы это ни стоило, это не имеет ничего общего с Yocto, вот как Python 3 хранит файлы кэша.

...