本記事では、macOSで、Python, PyQt, OpenCV, PyInstallerでappを作った際に起動できない不具合の対処法を紹介します。
解決した環境
念の為、解決した環境のバージョンを示します。
macOS : 10.14.6
Python : 3.7.4
PyQt : 5.14.1
OpenCV : 4.2.0
PyInstaller : 4.0.dev0+3e6f7dc709
前提
先日の以下の投稿について、macでも試してみたところうまくいかず、ハマったのですが、解決しました。
以前、環境構築で紹介した、OpenCVでは、
pip install opencv-contrib-python
と紹介していました。
OpenCVのPythonの4つのパッケージ
OpenCVのPythonには、バージョン以外に、4つのパッケージがあります。
これらは複数の共存ができないみたいなので後述するように、新しくインストールする前に、アンインストールする必要があります。
a. 標準デスクトップ環境用パッケージ (Windows, macOS, GNU/Linux ディストリビューション)
pip install opencv-python : main モジュールのみ
pip install opencv-contrib-python : main モジュールと contrib モジュール
b. サーバ(ヘッドレス)環境用パッケージ
GUI 機能は含まれていない。小さく、より制限された環境に適している。
pip install opencv-python-headless : main モジュールのみ
pip install opencv-contrib-python-headless : main モジュールと contrib モジュール
対処法
上記から、よりシンプルで制限された環境のOpenCVのライブラリをインストールし直します。
そのため、一度、以前に入れた環境をアンインストールしてから、ヘッドレスな環境を入れ直します。
pip uninstall opencv-contrib-python
pip install opencv-python-headless
再度サンプルコードを用意して、下記をターミナルで実行します。
pyinstaller gray_scale.py --clean --onefile --windowed