pyinstallerがsklearnおよびその他のライブラリをパッケージ化するという問題を解決します:プロンプトがスクリプトxxxの実行に失敗しました

 

pyinstallerのインストール、単純なパッケージングは​​次を参照できます:https ://blog.csdn.net/qq_40587575/article/details/85076934

-------------------------------------------------- -------------------------------------------------- -------------------------------------------------- ------------

pyinstaller [パラメータ] [packaged.pyするプログラム]

パラメータの説明:
-icon =アイコンパス
-F exeファイルにパッケージ化
-wウィンドウを
使用、コンソールなし-c コンソールを使用、ウィンドウなし-D
exeおよびその他の依存ファイルを含むディレクトリを作成
pyinstaller -hパラメータを表示

重要なポイント:

初めてコンパイルを開始するときは、直接使用しないでください:pyinstaller -F -w demo.py

pyinstaller -F -c demo.pyこの時点で、パッケージ化が完了したら、exeをクリックしてファイルを実行します。エラーがある場合は、コンソールに表示されます。エラー後にコンソールが点滅したため、これはスクリーンショットの準備です。

 エラーメッセージ: 'typedefs'という名前のモジュールはありません

現時点では、importErrorのエラーメッセージが表示されます。現時点ではtypedefsモジュールが見つからないため、プログラムはスクリプトxxxxの実行に失敗しましたを直接報告します

元のディストリビューション、ビルドファイル、スペックファイルを削除し、追加します。 

pyinstaller -F -c QTimerTest.py --hidden-import sklearn.neighbors.typedefs

または

Hiddenimports = []を.specファイルに直接追加:最後のコードとして

エラーメッセージ:「sklearn.neighbors.quad_tree」という名前のモジュールはありません

エラーメッセージ: 'pywt._extendions._cwt'という名前のモジュールはありません 

 

上記の問題を要約するには、次のコマンドを使用できます。

pyinstaller -F -c QTimerTest.py --hidden-import sklearn.neighbors.typedefs --hidden-import sklearn.neighbors.quad_tree --hidden-import pywt._extensions._cwt --add-data = xgboost; xgboost

それでもプログラムがエラーを報告する場合は、同じ方法を使用して理由を見つけることができます。理由がある場合は、通常、答えを見つけることができます。

参照:

 

1. XGBoostの問題の解決策:

https://my.oschina.net/u/1241965/blog/2997992

2.pywtウェーブレットパッケージライブラリソリューション:

https://stackoverflow.com/questions/41998403/pyinstaller-importerror-on-pywt-ctw-module

3. Sklearnソリューション:

https://www.smwenku.com/a/5b86bb8a2b71775d1cd5c2d8/zh-cn/

https://stackoverflow.com/questions/31774906/why-do-i-get-an-importerror-when-building-a-exe-with-pyinstaller

http://www.voidcn.com/article/p-nqtjgive-bms.html

 

pyinstallerによって生成された.specファイルで、次のように変更します。

これは主に非表示のインポートです。主にこの問題のため、pyinstallerはライブラリの場所を見つけることができません。

 # -*- mode: python -*-

block_cipher = None


a = Analysis(['MyPythonApplication.py'],
             pathex=['..\\ApplicationFolder'],
             binaries=[],
             datas=[],
             hiddenimports=['cython', 'sklearn', 'sklearn.ensemble', 'sklearn.neighbors.typedefs', 'sklearn.neighbors.quad_tree', 'sklearn.tree._utils'],
             hookspath=[],
             runtime_hooks=[],
             excludes=[],
             win_no_prefer_redirects=False,
             win_private_assemblies=False,
             cipher=block_cipher)
pyz = PYZ(a.pure, a.zipped_data,
             cipher=block_cipher)
exe = EXE(pyz,
          a.scripts,
          exclude_binaries=True,
          name='ExeFileName',             
          debug=False,
          strip=False,
          upx=False,
          console=False )
coll = COLLECT(exe,
               a.binaries,
               a.zipfiles,
               a.datas,
               strip=False,
               upx=True,
               name='ApplicationName')

                                   

 

  -----------------完了----------------------

おすすめ

転載: www.cnblogs.com/junge-mike/p/12761311.html
おすすめ