Pythonの仮想環境をサクッと用意してPyinstallerで超軽量なexeファイルを作成する【Python】

Python基礎

スポンサーリンク

Pyinstallerを使ってexe化したら超絶重くて萎えた・・・誰しもがこんな経験ありますよね?

今回はPythonの仮想環境(venv)を使って、必要最低限のライブラリのみをインストールした超軽量なexeファイルを作成する手順を共有します。

手順

仮想環境の作成

大昔()は仮想環境作成に若干時間がかかったものですが、現代のPythonは以下から仮想環境を立ち上げられます。

python -m venv myenv

仮想環境を動かしたいディレクトリで実行しましょう。

ちなみにmyenvの部分は任意で、仮想環境名を表します。

仮想環境の有効化

仮想環境を立ち上げたら、以下から有効化します。

myenv\Scripts\activate

macOSやLinux環境は若干異なります。

source myenv/bin/activate

PyInstallerのインストール

肝心のpyinstallerをインストールします。

pip install pyinstaller

その他必要なライブラリのインストール

他にインストールするライブラリがあれば、ここでインストールしておきます。

pip install openpyxl

ちなみにpandasやnumpyを入れるとexeファイルの起動が遅くなりがちなので、可能ならpandas, numpyを使わないプログラムにしたいところです。

PyInstallerでexeファイルを作成

以下からexeファイルを作成します。

pyinstaller --onefile main.py

実行するとdistフォルダにexeファイルが生成されます。

引数の説明やアイコン設定方法などは、気が向いたら記事にします。

仮想環境を無効化する

最後に仮想環境を閉じておきます。

deactivate

これ以降、ここで使った仮想環境を使わないのであれば、フォルダ内に作成されたmyenvフォルダを削除して大丈夫です。

エラー対策

エラーの内容

こんな感じで変なエラーが出ることがあります。

myenv\Scripts\activate : このシステムではスクリプトの実行が無効になっているため、ファイル C:\XXX\myenv\Scripts\Activate.ps1 を読み込むことができません。

解決策

そんなときは、以下の流れで解決します。

  1. PowerShellを管理者として実行する
  2. 実行ポリシーを変更する
    →"Set-ExecutionPolicy RemoteSigned"を実行
  3. 確認メッセージが表示されたら、「A」または「Y」を入力して許可する
  4. 再度仮想環境を有効化する

以上です。