PyQt4 を使用する Python アプリケーション用の pynsist を使用してインストーラーを作成しようとしています。Python のインストールをバンドルしたいので、python 3.5 を使用する必要があります。pynsist は python 3.5 のバンドルのみをサポートしているためです。WinPython 3.5.1.1 の新規インストールを使用して、必要なすべてのパッケージをインストールし、新しくインストールした Windows 10 仮想ボックスでインストーラーをテストしました。インストーラーのビルドには、Windows 7 マシンで WinPython 3.5.1.1 環境を使用します。
しかし、インストールしたアプリケーションを起動すると、QtGui または QtCore がインポートされたときにエラーが発生します。
ImportError: DLL load failed: The specified module could not be found.
私がインターネットで見つけたこのエラーに関するほとんどの問題は、python が dll を見つけられないことが原因ですが、QtGui4.dll ファイルは pkgs\PyQt4 フォルダーに存在し、アプリケーションまたは python のメイン フォルダーにもコピーされます。フォルダは何も変更しません。
また、最小限の例としてバンドルと python 3.5.1 を使用して pynsist リポジトリにサンプル PyQt4 アプリケーションをエクスポートしようとしましたが、同じエラーが発生します。
QtCore.pyd の Windows 10 環境で依存関係ウォーカーを使用すると、
「API-MS-WIN*.DLL」の依存関係がさらに不足しています。最も「興味深い」と思われる部分までスクロールしました。