実現したいこと
- pythonをインストールしていないPC環境で、pythonの処理を実行したい
- pyinstallerなるもので、.pyファイルをexeファイルに変換できるらしい
- やってみよう
- しかし、社内のプロキシサーバー関係なのか、pyinstallerをpipインストールができなかった
- ので、pyinstallerインストールの代替策が必要
やったこと
- pyinstallerを動作させるために、必要なライブラリを手動インストール
- pyinstallerを実行してexeファイル作成
環境
OS: Windows10
Python: 3.11
PyInstaller: 5.8
必要なライブラリのインストール
pyinstallerを動作させるために、必要なライブラリをあらかじめDLしておき、
ローカルファイルからインストールしていきます。
対象ファイル(以下コマンド参照)の.whlファイル
を、事前にDLしておきます。
python -m pip install --no-deps pyinstaller-5.8.0-py3-none-win_arm64.whl
python -m pip install --no-deps pywin32-305-cp311-cp311-win_amd64.whl
python -m pip install --no-deps pywin32_ctypes-0.2.0-py2.py3-none-any.whl
python -m pip install --no-deps pipenv-2023.2.18-py3-none-any.whl
python -m pip install --no-deps altgraph-0.17.3-py2.py3-none-any.whl
python -m pip install --no-deps pefile-2023.2.7-py3-none-any.whl
コマンドをまとめて書いていますが、
実際は、後続pyinstaller
を実行してはエラーで怒られ、足りないライブラリを順次に追加していきました。
pyinstallerの実行
pyinstaller XXXX.py --onefile
実行時成功ログ
サンプルとして参照してください。
...
8241 INFO: Writing RT_ICON 6 resource with 4264 bytes
8241 INFO: Writing RT_ICON 7 resource with 1128 bytes
8244 INFO: Copying 0 resources to EXE
8244 INFO: Embedding manifest in EXE
8245 INFO: Updating manifest in C:\test_evi\dist\main.exe.notanexecutable
8290 INFO: Updating resource type 24 name 1 language 0
8293 INFO: Appending PKG archive to EXE
8303 INFO: Fixing EXE headers
8906 INFO: Building EXE from EXE-00.toc completed successfully.
exeファイル化に成功すると、作業フォルダ内に下記のフォルダとファイルが生成されます。
distフォルダ内にあるexeファイルが作成されています。
build
dist
XXXX.spec
もしまだ以下のようなエラーが出たら、
エラー内容: [“ImportError: No module named altgraph”]
対象をpypiで検索して、対象の.whlファイル
をDLしてインストールしてね。ということです。
まとめ
社内のプロキシサーバー環境下で- pyinstallerを動作させるために必要なライブラリを手動インストールし、exeファイル作成するまでの手順についてまとめました。
今回と同じような環境の方が少ない気もしますが、
pyinstallerの動作に必要な依存ライブラリの検索に手間取る人が少しでも役に立つと嬉しいです。
参考記事