この問題はOpenembedded/Yoctoに関するものです。'setuptoolsという名前のモジュールはありませんが、DEPENDS変数に含まれています
カスタムPython3スクリプトでコンパイルする必要があるソースコードがあります。 つまり、一部のpython3スクリプトはdo_compile()
プロセス中に実行する必要があります。 スクリプトはsetuptoolsをインポートするので、DEPENDS += "python3-setuptools-native"
をレシピに追加しました。私がドキュメンテーションを理解する限り、これはsetuptoolsモジュールをビルドプロセス(ネイティブ)で使用できるようにする必要があります。 しかし、bitbakeがdo_compile()
プロセスを実行すると、私はこのエラーを受け取ります:no module named 'setuptools'
。
FILE:test.bb
LICENSE = "BSD"
LIC_FILES_CHKSUM = "file://test/LICENSE;md5=d41d8cd98f00b204e9800998ecf8427e"
DEPENDS += "python3-setuptools-native"
SRC_URI = "file://test.py \
file://LICENSE"
do_compile() {
python3 ${S}/../test.py
}
FILE:test.py
import setuptools
print("HELLO")
私は、最小限の(非)実施例にそれを打破してみましょう
ビットベーキング:
$ bitbake test
ERROR: test-1.0-r0 do_compile: Function failed: do_compile (log file is located at /path/to/test/1.0-r0/temp/log.do_compile.8532)
ERROR: Logfile of failure stored in: /path/to/test/1.0-r0/temp/log.do_compile.8532
Log data follows:
| DEBUG: Executing shell function do_compile
| Traceback (most recent call last):
| File "/path/to/test-1.0/../test.py", line 1, in <module>
| import setuptools
| ImportError: No module named 'setuptools'
| WARNING: exit code 1 from a shell command.
| ERROR: Function failed: do_compile (log file is located at /path/to/test/1.0-r0/temp/log.do_compile.8532)
ERROR: Task (/path/to/test.bb:do_compile) failed with exit code '1'
NOTE: Tasks Summary: Attempted 400 tasks of which 398 didn't need to be rerun and 1 failed.
NOTE: Writing buildhistory
Summary: 1 task failed:
/path/to/test.bb:do_compile
Summary: There was 1 ERROR message shown, returning a non-zero exit code.
私のexepectationは間違っていますか?DEPENDS += "python3-setuptools-native"
はpython3モジュールの 'setuptools'をdo_compile()
のpython3スクリプトで利用できるようにしていますか?どうすればこれを達成できますか?