Saya memiliki situasi yang sangat mirip dengan yang ada di ImportError: DLL memuat gagal:% 1 bukan aplikasi Win32 yang valid , tetapi jawabannya tidak berfungsi untuk saya.
Kode Python saya mengatakan:
import cv2
Tapi baris itu melempar kesalahan yang ditunjukkan pada judul pertanyaan ini.
Saya telah menginstal OpenCV di C:\lib\opencv
mesin 64-bit ini. Saya menggunakan Python 64-bit.
Variabel PYTHONPATH saya: PYTHONPATH=C:\lib\opencv\build\python\2.7
. Folder ini berisi cv2.pyd
dan itu saja.
Variabel PATH saya: Path=%OPENCV_DIR%\bin;...
Folder ini berisi 39 file DLL seperti opencv_core246d.dll
.
OPENCV_DIR memiliki nilai ini: OPENCV_DIR=C:\lib\opencv\build\x64\vc11
.
Solusi di ImportError: Beban DLL gagal:% 1 bukan aplikasi Win32 yang valid mengatakan untuk menambahkan "jalur binari opencv baru ( C:\opencv\build\bin\Release
) ke variabel lingkungan Windows PATH". Tetapi seperti yang ditunjukkan di atas, saya sudah memiliki folder binari OpenCV ( C:\lib\opencv\build\x64\vc11\bin
) di PATH saya. Dan instalasi OpenCV saya tidak memiliki folder Rilis (kecuali yang kosong di bawah build / java).
Ada ide tentang apa yang salah? Bisakah saya memberi tahu Python untuk melacak proses pemuatan secara verbal? Apa tepatnya DLL yang dicari?
Terima kasih, Lars
EDIT:
Saya baru saja memperhatikan bahwa, menurut http://www.dependencywalker.com/ , cv2.pyd
in C:\lib\opencv\build\python\2.7
adalah 32-bit, sedangkan mesin dan Python yang saya jalankan adalah 64-bit. Mungkinkah itu masalahnya? Dan jika demikian, di mana saya dapat menemukan versi 64-bit dari cv2.pyd?
PYTHONPATH
dulu berisi entri yang ditinggalkan oleh instalasi pustaka SimpleCV di sana. Meskipun saya telah mencopot pemasangan SimpleCV, namun PYTHONPATH
tidak dipulihkan dan mengarah ke beberapa direktori dengan versi OpenCV yang bertentangan yang ditinggalkan oleh pemasangan SimpleCV. Solusi: bersihkan PYTHONPATH
.