LoginSignup
2
0

More than 3 years have passed since last update.

MicroPythonのmpy-crossのメモ

Last updated at Posted at 2019-06-22

免責

この記事に従って発生した如何なる損害も筆者は負うことができません。ご免なさい。

目的

main.mpyが動かなくて困った思いをしたので、mpy-crossの自分メモを作ります。
知識が増えたら追加していきます。

キホン

mpy-crossを使って*.pyを*.mpyにします。
まずはmpy-crossの用意。

mpy-crossを用意する
$ git clone --recursive https://github.com/micropython/micropython.git
$ make -C micropython/mpy-cross
$ cp -ax micropython/mpy-cross/mpy-cross パスが通っているところ/

試しに使ってみる。

*.pyを*.mpyにする方法
$ mpy-cross sample.py
$ \ls
sample.py sample.mpy

本体とmpy-crossのバージョンを合わせる

mpy-crossはMicroPython本体と同じバージョンにします。
そうしないと互換性の問題でエラーが出ます。

MicroPython本体のバージョンv1.2.0
>>> import sys
>>> sys.implementation
(name='micropython', version=(1, 12, 0), mpy=9733)
mpy-crossのバージョンv1.12(v5)
$ mpy-cross --version
MicroPython v1.12-5-g42e45bd69 on 2019-12-27; mpy-cross emitting mpy v5

boot.pyとmain.pyは*.mpyにしない方がいい

デバイスに入れておけば自動的に動くはずなのに、動きませんでした。
なぜ?

*.mpyよりも*.pyを優先するらしい

importしたときに、*.pyを優先するようです。

UNIX版には-mcache-lookup-bcが必要

UNIX版のMicroPythonでは、*.mpyを作るときに-mcache-lookup-bcを付ける必要があるようです。
Error when importing .mpy module #2896

*.pyを*.mpyにする方法
$ mpy-cross -mcache-lookup-bc sample.py
2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0