Я добавил 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
, чтобы избежать этого перемещения и переименования?