Pythonのvenv環境でFletを用いて開発したアプリをflet build windowsのコマンドでビルド後に起動したところ「ModuleNotFoundError: No module named ‘xxxx’」となることがあり詰まっていたので一応の解決方法を残します
環境
- Python 3.11.4
- Flet 0.22.1
- venv
- Windows
事象
venv環境でFletを用いてアプリを作成し、開発時は問題なく起動できていたがflet build windowsのコマンド実行後に生成されたexeファイルを起動したところ「ModuleNotFoundError: No module named ‘xxxx’」のエラーが表示され実行できない
import requestsを記述していたが見つからない模様
考えられる原因
ビルド後のファイルを見るとvenv環境でインストールしたライブラリがビルドに含まれていないように見える
対処法
flet build windowsでビルド後に.venv/Lib/site-packagesの中にあるフォルダやファイルを、ビルドで生成されたbuild/windows/Libの配下にコピーする
project
┣ .venv
┃ ┣ xxx
┃ ┗ Lib
┃ ┗ site-packages
┃ ┣ aaa ←
┃ ┣ bbb ← これらをコピーして
┃ ┗ ccc.py ←
┃
┗ my_app
┣ build
┃ ┗ windows
┃ ┣ xxx
┃ ┗ Lib ← ここの配下にペースト
┗ main.py
これで一応実行できるようになりました
まとめ
やっつけ仕事ですが一応動くようにできたので備忘録として誰かの役に立てればと思います
不具合等あればコメントで教えてください!
コメント