wordcloud パッケージにストップワード ファイルがありません
間違った説明
Unhandled exception in script
Failed to execute script'main' due to unhandled exception: (Errno 2] No such file or directory:
'C:\Users\VADMINI\appDatallLocal\Templ\2\ME186322\wordcloud\stopwords'
解決
wordcloud がインストールされているパスを見つけます。
デフォルトでは、Python インストール パスの下の lib フォルダーにある wordcloud.py は
次のコードでパッケージ化されています。
STOPWORDS = set(map(str.strip, open(os.path.join(FILE, 'stopwords')).readlines()))
に変更されました
STOPWORDS = set(map(str.strip, open(os.path.join(os.path.dirname(sys.executable), 'stopwords')).readlines()))
exe プログラムの実行時に、exe ファイルの下の同じレベルでストップワード ファイルを検索するように変更します。
次のように、独自の構成要件に応じてファイルの場所を変更できます。
STOPWORDS = set(map(str.strip, open(os.path.join(os.path.dirname(sys.executable), 'config','stopwords')).readlines()))
exe プログラムを実行すると、exe ファイルの下の同じレベルのディレクトリに移動して、config ディレクトリ内のストップワード ファイルを見つけます。
!!!環境の開発時にそれを復元するか、実行時にストップワード ファイルが見つかることを確認する必要があります。
pyinstallerのパッケージパスの問題
Python がリソース ファイルを exe にまとめて説明する (例付き)
次の方法でパスマッピングを直接行い、プロジェクト内の設定ファイルのコピーをexeファイルと同じレベルのディレクトリに直接コピーします。
import os
import sys
def file_address():
if getattr(sys, "frozen", False):
BASE_DIR = os.path.dirname(sys.executable)
else:
BASE_DIR = os.path.dirname(os.path.abspath(__file__))
return BASE_DIR
pyinstallerパッケージ
使用するライブラリ
pip install pyinstaller
単一ファイルのパッケージ化
cmd は py プロジェクト ディレクトリに入り、次のコマンドを実行します。
pyinstaller -F -w -i xxx.ico main.py --noconsole
または:
pyinstaller -F -w --icon=xxx.ico main.py --noconsole
-F パラメータはオーバーレイ パッケージ化を意味するため、パッケージ化する際は、何度パッケージ化しても、最新の固定コマンドになります。
-w はウィンドウ プログラムを意味し、
-icon は exe の表示アイコンを設定します。 *.ico ファイルはオンライン ico ベクトル オンライン変換ツールで処理できます。
「main.py」はプログラムのエントリ ポイントです (単一ファイルの場合は、hello.py などのファイル名に置き換えます)。 –noconsole は
cmd ウィンドウを表示しないことを意味し、cmd ウィンドウを表示したい場合は –console に変更します。
一般的に使用されるパッケージ化コマンド:
exe のパッケージ化: pyinstaller -F main.py
コンソールなしのパッケージ化: pyinstaller -F -w main.py
指定された exe アイコンのパッケージ化: pyinstaller -F -i xx.ico main.py
複数のファイルをパックする
cmd は py プロジェクト ディレクトリに入り、次のコマンドを実行します。
pyinstaller [主文件] -p [其他文件1] -p [其他文件2] --hidden-import [自建模块1] --hidden-import [自建模块2]
次のように:
pyinstaller -F -w --icon=testIcon.ico main.py -p addres.py -p test1.py -p test2.py --hidden-import addres --hidden-import test1 --hidden-import test2
無事に梱包されました
プロジェクトのルート ディレクトリに 2 つのフォルダーが生成されます。dist
フォルダー内に xxx.exe があります。名前は、パッケージ化したメイン ファイル .py に従って命名されます。ダブルクリックして実行します。
!!!設定ファイルがある場合は、開発プロジェクトのディレクトリ構造に従って設定ファイルを確認し、exeと同じディレクトリに配置する必要があります。