MENU

ChromebookにPyinstallerをインストールする方法とエラーの対処法~PEP517エラーの解決~

こんにちは、のちたままです。

IdeaPad Duetはarm64なこともあってか、パッケージのインストールに手こずりますね。

今回はwindowsでいうexeファイルを作ることができるPyinstallerのインストール方法です。

エラー発生時の対処法も載せましたので参考にしてみてください。

Pyinstallerとは?

Pyinstallerは.pyファイルから実行ファイルを生成するためのパッケージです。

.py形式のファイル単体でも実行は可能ですが、以下のような場合に使われます。

・windowsで使うexeファイルを作りたい
・納品先にコードが見えないようにしたい
・複数のpyファイルを纏めて実行ファイルにしたい

GUIを作ったりするとexeファイルを相手に渡したほうが使いやすかったりしますからね。

Pyinstallerのインストール方法

インストールコマンドは以下の通りです。

$ pip install pyinstaller

Chromebookで上記のコマンドを打つとエラーを吐くかもしれません。

エラーが発生した場合の対処法をいくつか載せておきますので試してみてください。

エラーが発生したときは?

確認すべきこと

・pipが入っているか  
・pipのupdateしているか  
・bootloaderが使える環境になっているか

pipが入っているか

Chromebookにはデフォルトでpipが入っていません。

入っていないにも関わらず使おうとするとエラーが出る場合があります。

その場合には2通りの対処方法があります。

・pipをインストールし、$ pip install pyinstallerを使う
・$ python3 -m pip install pyinstallerを使う

pipのupgradeをしているか

忘れがちなのですが、updateをしていなかったということがあります。

その場合は以下のコマンドを打ってください。

python3 -m pip install --upgrade pip

PEP 517エラーの対処

もし、エラー内容が以下のものと同じようでしたら、pipではなく別のパッケージのインストールが必要になります。

ERROR: Could not build wheels for pyinstaller which use PEP 517 and cannot be installed directly

このエラーが出た場合、おそらく別のエラー内容が数行上に書かれていると思います。

例えば以下のようなエラー

  ERROR: Failed compiling the bootloader. Please compile manually and rerun setup.py
  ----------------------------------------
  ERROR: Failed building wheel for pyinstaller
Failed to build pyinstaller
ERROR: Could not build wheels for pyinstaller which use PEP 517 and cannot be installed directly

この場合、一番上の行でbootloaderのコンパイルに失敗していることがわかります。

これはbootloaderを使える環境が整っていなかったことが原因でした。

以下のコマンドを使って、bootloaderが使える環境を整えたところ、Pyinstallerのインストールに成功しました。

$ sudo apt install build-essential zlib1g-dev

最後に

エラーが発生した場合には、表示されている文章全体を見ることでどこでエラーが発生しているのかを見ることができます。

最後の行だけ(PEP 517)のところだけだと何をしたらよいかわからないので、少し上の方に目を向けてみると解決につながるかもしれません。

これかな?とおもったら「linux <原因だと思うもの>」で検索をしてみると良いと思います。

もし、エラーでわからないことがあったら気軽にコメントしてください。

それでは。