pyOxidizerを試しててみました
以下のページを参考にしてpyOxidizerを試してみました。 PyOxidizer を試してみた - Qiita
python環境を持ち運ぶ(repl)として使うとか、アプリをpythonをインストールしていない環境で実行するなど使い道はありそうです。
環境
macOS Mojave 10.14.5
事前準備
rust環境をインストールする必要があります。 homebrewでインストールした場合pyOxidizerに必要なモジュールがインストールされないので、rustセットアップシェルを実行しました。
$ curl https://sh.rustup.rs -sSf | sh
アプリ環境作成
$ pyoxidizer init pyapp
pythonファイル作成
パッケージのルートディレクトに作成します。
$ cat helloworld.py print("hello world")
設定ファイル()編集
$ cat pyoxidizer.toml # Package .py files discovered in a local directory. [[packaging_rule]] type = "package-root" path = "." packages = ["helloworld"] [[embedded_python_run]] # Run an interactive Python interpreter. #mode = "repl" <-- init時にはここが有効になっています # Import a Python module and run it. mode = "module" module = "helloworld" #module = "mypackage.__main__"
ビルド & 実行
$ pyoxidizer build $ pyoxidizer run packaging application into /.../pyapp/build/apps/pyapp/debug purging /.../pyapp/build/apps/pyapp/debug copying /.../pyapp/build/target/x86_64-apple-darwin/debug/pyapp to /.../pyapp/build/apps/pyapp/debug/pyapp resolving packaging state... pyapp packaged into /.../pyapp/build/apps/pyapp/debug hello world
ファイルサイズは約27M。
$ ls -l build/target/x86_64-apple-darwin/debug/pyapp -rwxr-xr-x 2 unokun staff 27291660 7 14 09:23 build/target/x86_64-apple-darwin/debug/pyapp