最近、pythonばかりでプログラムを書いているので、配布しやすいようにバイナリ化を検討する中で、「PyOxidizer」なるものを見つけたので試してみます。
PyOxidizerのインストール
PyOxidizerは、Rustでプログラムされているそうで、Rust 2018 (1.31 or newer)がまずはインストールされていないと駄目らしいので、インストールされているか確認する。
$ rustc --version
インストールされていれば、バージョンが表示されます。されない場合は、インストールします。
$ sudo apt install rustc
もう一度
$ rustc --version rustc 1.36.0
問題ないようなので、PyOxidizer自身のインストールをします。
$ sudo cargo install pyoxidizer
残念ながら私の環境では、
error: failed to compile `pyoxidizer v0.3.0`,….. とエラーとなった
よく見ると、
error: failed to run custom build command for `openssl-sys v0.9.49`
opensslのコンパイルに失敗している….
$ sudo apt-get install libssl-dev
必要ライブラリーをインストールして、再び
$ sudo cargo install pyoxidizer ....... ....... Installed package `pyoxidizer v0.3.0` (executable `pyoxidizer`) warning: be sure to add `/home/xxxxx/.cargo/bin` to your PATH to be able to run the installed binaries
どうやら実行ファイルのパスは手動となるようです。
/home/xxxxx/.profile (xxxxx:自分のパスね)に上記のパスを追記します。
$ vi ~/.profile
PATH="$PATH:/home/xxxxx/.cargo/bin" を追記
$ source ~/.profile
これでpathは通るはずなので、確認
$ pyoxidizer --version PyOxidizer 0.3.0
ん、無事にversionが表示されたので、インストールは完了
いよいよpythonプログラムのバイナリ化の確認だけど、ちょっと時間切れ….またの機会に