ものづくりのブログ

うちのネコを題材にしたものづくりができたらいいなと思っていろいろ奮闘してます。

python の実行ファイルで動的リンクエラーを回避する

pyinstaller で python の実行ファイルを作成しても、実行環境によっては動的リンクエラーになることがありました。その場合は、staticx というツールを使って静的リンクのみの実行ファイルを作成することでエラーが回避できるようです。

pyinstaller については以前のメモを参考にします。
a1026302.hatenablog.com

staticx とは

動的実行可能ファイルをライブラリの依存関係にバンドルして、静的実行可能ファイルと同じように変換するツールという認識です。
github.com
Introduction — StaticX documentation

手順

staticx のインストールと実行

以下のコマンドでインストールします。
(staticxは現在、Linux64ビット動的実行可能ファイルでのみ機能します)

$ pip install staticx

環境によっては patchelf もインストールが必要です。

$ pip install patchelf-wrapper

staticx は以下のように実行します。

$ staticx <pyinstallerで作成したバイナリファイル> <出力ファイル名>

参考

github.com