pyinstaller を .exe としてパッケージ化するプロセスの問題と解決策

pyinsatller -F -w main.py 

問題 1: .exe ファイルが大きすぎます

パッケージ化コマンド:

pyinsatller -F -w main.py 

回避策:必要なライブラリが再インストールされた
新しい仮想環境を作成しました

仮想環境の依存関係をインストールします。

pip install virtualenv
pip install virtualenvwrapper-win

python.exe がある場所を見つけて仮想環境を作成します

mkvirtualenv -p="E:\\Python\python.exe" pyinenv

パッケージ化する必要があるファイルディレクトリに cmd を入力し、次のコマンドを使用して仮想環境に切り替えます。

workon pyinenv

コマンドを使用してpython main.pyパッケージ化するメインプログラムを実行し、ポップアップに従って不足しているモジュールを順番にダウンロードします。
注: pyqt5 と pyqt5-tools、および pyinstaller などを再インストールする必要がありますが、これらの操作中にエラーは報告されません。

ダウンロードの際、torch の cuda がメモリを多く占有していることが分かり、コード内で cuda を使って高速化している部分をキャンセルして、torch-cuda を削除し、cuda や torchvision などを含まない torch を再ダウンロードしました。

参考:パッケージ化されたexeファイルが大きすぎる問題の解決

質問 2: pyinstaller は opencv-python バージョンと互換性がありません

パッケージ化が完了すると、以下の画面が表示されます。
ここに画像の説明を挿入
解決策: opencv-python のバージョンを変更するpip install opencv-python==4.5.1.48
私は次のように python と pyinstaller のバージョンを使用しています。

PyInstaller: 5.1
Python: 3.9.0
opencv-python:4.5.1.48

質問 3: ファイルを開くと、***.pyd ファイルが既に存在するというメッセージが表示されます。

ここに画像の説明を挿入
a と p の間に次のコードを追加します。

for b in a.binaries.copy():  # Traver the binaries.
    for d in a.datas:  #  Traverse the datas.
        if b[1].endswith(d[0]):  # If duplicate found.
            a.binaries.remove(b)  # Remove the duplicate.
            break

操作後、次のパッケージ化コマンドに置き換えます。

pyinstaller main.spec

参考:Pyinstaller --onefile 警告ファイルはすでに存在しますが、すべき
ではありません参考:警告: ファイルはすでに存在しますが、すべきではありません: C:\Users\workAI\AppData\Local\Temp_MEI132522\torch_C 参考
【Python】Python 打包exe报错makespec オプションがありません.spec ファイルが指定された場合に有効です

質問 4: pyinstaller パッケージを作成すると、UPX が利用できないというメッセージが表示されます。

解決策:
(1) 公式 Web サイト https://upx.github.io/ にアクセスし、UPX をダウンロードします (私のバージョンは Windows 64 バージョンです)。ダウンロードは圧縮パッケージです。

(2) 解凍してupx.exeファイルを取得します。

(3) exe ファイルをpyinstaller.exe ディレクトリにコピーします。私のディレクトリは C:\Users\HASEE\Envs\pyinenv\Scripts です。

参考: pyinstaller パッケージでは UPX は利用できません

最後に、梱包が完了し、正常に使用できるようになります。(梱包作業にかかる時間は約4分)
ここに画像の説明を挿入
ここに画像の説明を挿入

別の: CUDA の構成を成功させる方法を表示する

(1) cmd では、cuda 環境の設定に注意します。ここでは pytorch 環境にいるので、最初に pytorch 環境を有効にする必要があります。
ここに画像の説明を挿入
(2) Pythonファイルに入力

import torch
print(torch.cuda.is_available())

True を返すと、構成が完了したことを示します。

CUDA と pytorch を事前にインストールするための参考資料 参考
:
1: CUDA バージョンとグラフィックス カード ドライバー バージョンの比較表 (2022.10.26 に更新 - CUDA11.8)
2:インストールされている CUDA バージョンを確認する
3: win10+Anaconda+pytorch+CUDA11.1 詳細インストールガイド
4: [Pytorch] pytorch のインストール (cuda の詳細なインストールチュートリアルを含む)

yi , j = ∑ m = 0 h − 1 ∑ n = 0 w − 1 ∑ k = 0 c − 1 wm , n , kxi + m , j + n , k + b y_{i,j}=\sum_{ m=0}^{h-1}\sum_{n=0}^{w-1}\sum_{k=0}^{c-1}w_{m,n,k}x_{i+m, j+n,k}+by j=m = 0h 1n = 0w 1k = 0c 1wm n kバツi + m j + n k+b

おすすめ

転載: blog.csdn.net/ThreeS_tones/article/details/130656618