当記事では、Pythonでexeアプリケーションを開発する時に考える必要のあることをご紹介します。
Pythonでexeアプリケーションを初めて作るけど、どうしたらいんだろう?
と、思ってる方におすすめです。
この記事では、以下のことを紹介してます。
- Pythonとは
- Pythonのインストール方法
- Python開発時のコーディング規約
- Pythonでexeアプリケーションの作成方法
- その他:開発者間で利用ライブラリのバージョン統一方法
Pythonの説明から、コーディング規約、exeアプリケーションを作成する方法について、手順を追って紹介していきます。また記事の最後には、チーム開発する際に開発者間で利用ライブラリのバージョンを統一する方法についてもご紹介しています。
Pythonとは
Pythonとは、AIや分析系によく利用される言語です。ライブラリが豊富で開発が簡単なことが特徴です。
ライブラリとはプログラムの部品の集まりです。Python以外の言語だと、自分で作成しなければならない部品が、Pythonだと豊富に公開されているので、開発する手間をなくすことができます。そのため、プログラムを作成する生産性が高い言語です。
また、人気の言語であるため開発者が多く、情報がインターネット上に豊富にあり、困ったことがあってもすぐに解決策が見つかることが多いです。そのためプログラミング初学社にとっても取り掛かりがしやすい言語です。
Pythonについての詳細な情報は以下サイトをご参照ください。開発環境の構築方法から、Pythonプログラミングの入門内容、各バージョンのアップデート内容など、様々な情報が記載されています。
インストール方法
以下サイトからインストーラをダウンロードします。Windows、 Macのインストーラのどちらも入手できます。
インストールは特に難しくなく、インストーラの指示に従ってボタンを押していくだけです。
コーディング規約
以下サイトを参照ください。
Pythonでexeアプリケーションの開発方法
Pythonでexeアプリケーションを開発するには、ライブラリを利用する必要があります。exe化するライブラリはいくつか存在しますが、一番メジャーと思われるPyinstallerを使ってexe化する方法をご紹介します。
pyinstallerはあらかじめ以下コマンドでインストールしておきます。
pip install pyinstaller
以下コマンドを実行することで、exeファイルが作成できます。
# 仮想環境にアクティベート
.\仮想環境フォルダ\Scripts\activate
# exeファイル化 アイコンを設定したい場合は、以下のように「--icon」オプションを付与
pyinstaller test.py --onefile --noconsole --icon=test.ico
Pyinstallerを使ってexe化することで、PythonをインストールしていないPCでもアプリケーションを実行することが可能となります。ただし、Windowsでexe化したものはWindowsのみで実行可能、Macで作成したものはMacでのみ実行可能という制約があります。
その他
exeアプリケーションの開発とは関係ないですが、Pythonで開発する際に知っておいた方が良い内容を記載します。
pythonでのライブラリバージョンの展開方法
Pythonでライブラリを追加する場合は、pipコマンドを利用します。
pipコマンドでライブラリをインストールする際、バージョンを指定しないとコマンド実行時点の最新バージョンのライブラリがインストールされます。
インストールする時期によってライブラリのバージョンが異なってしまうので、下記のようにライブラリのバージョン情報をテキストファイルに出力し、そのファイルを元にライブラリをインストールすることで、バージョンを統一することができます。
# フォルダを仮想環境化 ※仮想環境=ワークスペース
python -m venv "仮想環境名を指定"
# 仮想環境にアクティベート
.\上記で作成した仮想環境フォルダ\Scripts\activate
'''
仮想環境にインストールされているライブラリをファイル化
出力されて「req.txt」をSVNやGITでソース管理する。
'''
python -m pip freeze > req.txt
以下コマンドを実行することで出力されたバージョンのライブラリを別環境にインストールすることができます。
# 該当の仮想環境にアクティベート ※仮想環境=ワークスペース
python -m venv "仮想環境名を指定"
# 仮想環境にアクティベート
.\上記で作成した仮想環境フォルダ\Scripts\activate
# pipコマンドの最新化 ※pipコマンドインストール用コマンド
python -m pip install --upgrade pip
# 抽出したライブラリ情報の内容をインストールする ※プロキシ環境下ではプロキシの設定が必要
python -m pip install -r .\該当のフォルダ\req.txt
Pythonをexe化することにはあまり関わりがありませんが、私が開発時に遭遇した事象と対応内容を備忘として記載しておきます。
Python開発Tips
Tips1:VSCodeでデバッグ時、参照できる配列の上限をデフォルト500から変更する方法
デフォルトの状態だと、配列は500までしか参照できません。500以上の情報を参照しようとすると以下のメッセージが表示されます。
「Maximum number of items (500) reached. To show more items customize the value of the PYDEVD_CONTAINER_RANDOM_ACCESS_MAX_ITEMS environment variable」
利用しているPythonの以下ファイルを編集することで最大参照数を変更することができます。
"C:\Users\ユーザ名.vscode\extensions\ms-python.python-2023.4.1\pythonFiles\lib\python\debugpy_vendored\pydevd_pydevd_bundle\pydevd_constants.py"
上記ファイルを開いて「PYDEVD_CONTAINER_RANDOM_ACCESS_MAX_ITEMS」の値を変更します。
~ 省略 ~
PYDEVD_CONTAINER_INITIAL_EXPANDED_ITEMS = as_int_in_env('PYDEVD_CONTAINER_INITIAL_EXPANDED_ITEMS', 100)
PYDEVD_CONTAINER_BUCKET_SIZE = as_int_in_env('PYDEVD_CONTAINER_BUCKET_SIZE', 1000)
PYDEVD_CONTAINER_RANDOM_ACCESS_MAX_ITEMS = as_int_in_env('PYDEVD_CONTAINER_RANDOM_ACCESS_MAX_ITEMS', 1500) ←コレの値を任意に変更する。ここでは1500に上限を上げている。
PYDEVD_CONTAINER_NUMPY_MAX_ITEMS = as_int_in_env('PYDEVD_CONTAINER_NUMPY_MAX_ITEMS', 500)
~ 省略 ~
デバッグコンソール上で500以上確認できるようになります。
まとめ
Pythonでexeアプリケーションを作成する時に考えることのまとめ
本記事では、Pythonの導入方法から、exeアプリケーションを作成する方法までをご紹介しました。
Pythonは他言語と比べてライブラリが豊富にあり、生産性が高い人気の言語です。AIなどでよく利用されるイメージが強いですが、exeアプリケーションも作ることができます。今後も、Pythonを使ったさまざまな機能をご紹介して行きます。
皆様のご参考となれば幸いです。
参考サイト
以下のサイトを参考とさせていただきました。ありがとうございます。
コメント