私も同じような状況にありますエラー「ImportError: DLL の読み込みに失敗しました: %1 は有効な Win32 アプリケーションではありません」、しかし、そこに書かれた答えは私には役に立ちません。
私の Python コードには次のように書かれています:
import cv2
しかし、その行では、この質問のタイトルに示されているエラーが発生します。
この 64 ビット マシンにOpenCV がインストールされていますC:\lib\opencv
。64 ビット Python を使用しています。
私の PYTHONPATH 変数: PYTHONPATH=C:\lib\opencv\build\python\2.7
。このフォルダーにはcv2.pyd
、これだけが含まれています。
私の PATH 変数:Path=%OPENCV_DIR%\bin;...
このフォルダーには、などの 39 個の DLL ファイルが含まれていますopencv_core246d.dll
。
OPENCV_DIR の値は です: OPENCV_DIR=C:\lib\opencv\build\x64\vc11
。
解決策はエラー「ImportError: DLL の読み込みに失敗しました: %1 は有効な Win32 アプリケーションではありません」は、「新しいOpenCVバイナリパス(C:\opencv\build\bin\Release
)をWindows PATH環境変数に追加する」と言っています。しかし、上記のように、OpenCVバイナリフォルダ(C:\lib\opencv\build\x64\vc11\bin
)は既にPATHにあります。そして、私のOpenCVインストールにはリリースフォルダがありません(下の空のフォルダを除いて)ビルド/Java)。
何が間違っているのでしょうか? Python に読み込みプロセスを詳細にトレースするように指示できますか? 正確にはどの DLL ファイルを探しているのでしょうか?
私が気づいたのは、http://www.dependencywalker.com/は32 ビットcv2.pyd
ですC:\lib\opencv\build\python\2.7
が、私が実行しているマシンと Python は 64 ビットです。これが問題なのでしょうか? もしそうなら、cv2.pyd の 64 ビット バージョンはどこで入手できますか?
ベストアンサー1
Python 拡張パッケージの非公式 Windows バイナリ
ここからあらゆる Python ライブラリを見つけることができます。