Почему рецепт yocto scipy требует явно заданного значения python3? Как? - PullRequest
1 голос
/ 03 марта 2020

У меня есть рецепт создания scipy, который хорошо разбирает, и битбэйк начинает собираться, но требование версии python3 не выполнено. Он выходит с

| DEBUG: Executing shell function do_configure
| Traceback (most recent call last):
|   File "setup.py", line 31, in <module>
|     raise RuntimeError("Python version >= 3.5 required.")
| RuntimeError: Python version >= 3.5 required.
| WARNING: exit code 1 from a shell command.
| ERROR: Function failed: do_configure (log file is located at /home/marius/mender-qemu/build/tmp/work/core2-64-poky-linux/python3-scipy/1.4.1-r0/temp/log.do_configure.30478)

Я успешно собрал другие python3 пакеты, которые можно импортировать в работающий образ. По пути вы также можете увидеть, что используется python3, а изображение работает на python3 .5. Я пользуюсь thud.

Ради завершения вот рецепт. Я также попытался явно добавить зависимости (numpy), но это не имело никакого эффекта.

SUMMARY = "Scipy summary to be filled"
DESCRIPTION = "Scientific computing"
PYPI_PACKAGE = "scipy"

LICENSE = "BSD"
LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=011ccf01b7e0590d9435a864fc6a4d2b"

SRC_URI[md5sum] = "3a97689656f33f67614000459ec08585"
SRC_URI[sha256sum] = "dee1bbf3a6c8f73b6b218cb28eed8dd13347ea2f87d572ce19b289d6fd3fbc59"

Это python -scipy.in c

inherit setuptools3 distutils
require python-scipy.inc

Кроме того, я попытался добавить inherit python3native без эффекта.

Мой вопрос: как я могу явно установить python3 для создания этого рецепта?

Ответы [ 2 ]

1 голос
/ 04 марта 2020

Простым и очевидным решением было inherit distutils3 вместо inherit distutils.

ПРИМЕЧАНИЕ : рецепт python-scipy, который сработал для меня, может быть Здесь можно найти: https://github.com/gpanders/oe-scipy

Отличная работа!

0 голосов
/ 03 марта 2020

Я предполагаю, что вы запускаете python скрипт setup.py как часть вашей сборки, для которой требуется python3 на вашем хосте (системе, которая собирает Yocto).

Вы можете установить его следующим образом :

sudo apt-get install python3
...