Pyinstaller を使用して Python プログラムをexe化する | プログラミング学習 初心者向け入門ガイド

ホーム › >>

Pyinstaller を使用して Python プログラムをexe化する

記事掲載:https://laptrinhcanban.com/ja

Pyinstallerを使用して Python プログラムをexe化する方法に関するチュートリアル。このレッスンの後、Pyinstaller を使用してPython ファイルを exe に変換し、Python プログラムをexe化する方法を学習します。

Python プログラムをexe化する必要

Python プログラムを作成、保存、実行する方法の記事では、Python プログラムを実行するには、マシンに Pythonの環境を作成し、プログラムを提供するために必要なモジュールをインストールする必要があることを知っています。次に、プログラムのソース コードを py ファイルに保存し、このファイルを Anaconda または DOS で実行する必要もあります。

作成した python プログラムをマシンで実行するだけであれば、python プログラムをexe化する必要はありません。ただし、このプログラムを第三者に渡して使用する必要がある場合や、別のコンピュータで使用したい場合など、使用するための python 環境をインストールして準備するのは非常に面倒です。

労力を節約し、上記の複雑な作業のほとんどを取り除くには、python ファイルを exe に変換し、python プログラムを、 python 環境をインストールせずにさまざまなマシンで実行できるスタンドアロン プログラムにexe化する必要があります。

python プログラムをexe化する方法は数多くありますが、代表的な方法は以下の 3 通りあり、メリットとデメリットがあります。

方法p利点欠陥
PyInstaller人気が高い
開発中
ほとんどの新しいバージョンの python と互換性がある
単一の exe ファイルを作成できる
次のプログラムは非常に重く圧縮され
ています
exeファイルの実行速度は遅い
Py2exexeファイルの実行速度が速い
もう開発中ではありません
単一のexeファイルをマージできません
cx_Freeze非常に軽量
exeファイルの実行速度が速い<開発中>
単一のexeファイルをマージできません
NumPy、SciPy、OpenCV、matplotlib、PyQT などのサードパーティ ライブラリをバンドルできない

次の PyInstaller と Py2exe の人気の比較を参照できます。

Python ファイルを exe パッケージに変換するこれらの方法を比較すると、Py2exe は古すぎて、もはや普及していないことがわかります。cx_Freeze は PyInstaller より高速で、アフター パッケージは軽量ですが、cx_Freeze は NumPy、SciPy、OpenCV、matplotlib、PyQT などのサードパーティ製ライブラリをexe化できません。

したがって、Python で簡単なプログラムをexe化する必要がある場合は cx_Freeze を使用し、上記のようなサードパーティ ライブラリに関連するプログラムをexe化する必要がある場合は PyInstaller を使用する必要があります。

cx_Freeze の使用方法については、Kiyoshi が cx_Freeze を使用したPython プログラムのexe化 に関する投稿で既に共有しています。この記事では、Pyinstaller を使用して Python プログラムをexe化する方法を学習します。

PythonのPyinstallerとは

公式のPyInstaller マニュアルWeb サイトによると:

PyInstaller は、Python アプリケーションとそのすべての依存関係を 1 つのパッケージにバンドルします。ユーザーは、Python インタープリターやモジュールをインストールしなくても、exe化されたアプリケーションを実行できます。PyInstaller は Python 3.6 以降をサポートし、numpy、PyQt、Django、wxPython などの主要な Python パッケージを正しくexe化します。

PyInstaller は、Windows、Mac OS X、および GNU/Linux でテストされています。ただし、これはクロス コンパイラではありません。Windows アプリケーションを作成するには、Windows で PyInstaller を実行します。PyInstaller は AIX、Solaris、FreeBSD、および OpenBSD で正常に使用されていますが、それらに対するテストは統合テストの一部ではありません。

簡単に言うと、Python のPyinstaller は、Python アプリケーションとその依存関係から単一のスタンドアロン実行可能ファイル (exe) を作成するモジュールです。Pyinstaller を使用して、python ファイルを exe に変換し、python プログラムをexe化します。

Pyinstaller を使用して Python プログラムをexe化する

Pyinstaller をインストールする

次のコマンドを使用して、Pyinstaller を python にインストールします。

pip install pyinstaller

Python は Pyinstaller をインストールし、Successfully installedという行が表示されれば、インストールは成功しています。
Pyinstaller を使用して Python プログラムをexe化

exe化するpythonプログラムを準備する

exe化するpythonプログラムのソースコードを書いて、パッケージング前にpyファイルに保存します。

たとえば、次のように、OpenCV を使用してビデオをキャプチャおよび記録するプログラムをexe化する必要があります。

import cv2

# quay và ghi video bằng OpenCV
capture = cv2.VideoCapture(0)

while True:
ret, frame = capture.read()
if not ret:
continue
cv2.imshow('frame',frame)
if cv2.waitKey(1) & 0xFF == ord('q'):
break

capture.release()
cv2.destroyAllWindows()

上記のプログラムでは、OpenCV ライブラリのcs2 モジュールを使用する必要があるため、次のインストール コマンドを使用してコンピュータに OpenCV がインストールされていることを確認してください

pip install opencv-python

プログラム ソース コードをファイル名で保存video_capture.pyし、次の手順に進みます。

  |data/
  |--video_capture.py

Pythonファイルをexeに変換し、プログラムをexe化することに進みます

準備が完了したら、次のようにpyinstallerコマンドの後ろに python ファイルのパスを指定して、python ファイルを exe に変換し、プログラムをexe化します。

pyinstaller video_capture.py

Pyinstaller は、次のように、exe化されるプログラムを実行するために必要なファイルとディレクトリの構築に進みます。

Pyinstaller を使用して Python プログラムをexe化

テキストBuilding EXE from EXE-00.toc が表示されたら、python ソフトウェアが正常にexe化されました。

尚、python ソフトウェアとそのすべての依存関係を単一の exe ファイルにexe化する場合は、次のコマンドを使用します。

pyinstaller video_capture.py --onefile

すると、python ソフトウェアをexe化する必要があり、関連するすべてのコンポーネントがdist > video_captureフォルダー内の exe ファイルにラップされます。それに応じて、この exe ファイルの名前を変更し、コンピューターでスタンドアロン プログラムとして使用できます。

  |data/
  |--dist
  |    |--video_capture
  |           |--video_capture.exe
  |--video_capture.py

まとめ

上記 Kiyoshi は、 Pyinstaller を使用して python プログラムをexe化する方法を示しました。レッスンの内容をよりよく理解するために、今日の例を書き直す練習をしてください。

そして、次のレッスンで Python の知識についてさらに学びましょう。

URL Link

https://laptrinhcanban.com/ja/python/nhap-mon-lap-trinh-python/dong-goi-chuong-trinh-python/dong-goi-chuong-trinh-python-pyinstaller/

この記事は役立つと思ったらいいね!とシェアをお願いします
">

ホーム  › >>

Profile
きよしです!笑

Author: Kiyoshi (Chis Thanh)

Kiyoshi was a former international student in Japan. After graduating from Toyama University in 2017, Kiyoshi is currently working as a BrSE in Tokyo, Japan.