ImportError'daki duruma çok benzer bir durumum var: DLL yükleme başarısız oldu:% 1 geçerli bir Win32 uygulaması değil , ancak oradaki yanıt benim için çalışmıyor.
Python kodum diyor ki:
import cv2
Ancak bu satır, bu sorunun başlığında gösterilen hatayı atıyor.
C:\lib\opencv
Bu 64 bit makineye OpenCV yükledim . 64 bit Python kullanıyorum.
Benim PYTHONPATH değişken: PYTHONPATH=C:\lib\opencv\build\python\2.7
. Bu klasör içerir cv2.pyd
ve hepsi bu.
PATH değişkenim: Path=%OPENCV_DIR%\bin;...
Bu klasör, gibi 39 DLL dosyası içerir opencv_core246d.dll
.
OPENCV_DIR bu değere sahiptir: OPENCV_DIR=C:\lib\opencv\build\x64\vc11
.
ImportError'daki çözüm : DLL yüklemesi başarısız oldu:% 1 geçerli bir Win32 uygulaması değil " C:\opencv\build\bin\Release
Windows PATH ortam değişkenine yeni opencv ikili yolu ( ) " eklemeyi söylüyor . Ancak yukarıda gösterildiği gibi, PATH'imde zaten OpenCV ikili dosyaları klasörüne ( C:\lib\opencv\build\x64\vc11\bin
) sahibim. Ve OpenCV kurulumumda herhangi bir Yayın klasörü yok (build / java altındaki boş bir klasör hariç).
Neyin yanlış gittiğine dair bir fikriniz var mı? Python'a yükleme sürecini ayrıntılı bir şekilde izlemesini söyleyebilir miyim? Tam olarak hangi DLL'leri arıyor?
Teşekkürler Lars
DÜZENLE:
Sadece göre fark http://www.dependencywalker.com/ , cv2.pyd
içinde C:\lib\opencv\build\python\2.7
koşuyorum makine ve Python 64 bit iken, 32-bit vardır. Sorun bu olabilir mi? Ve öyleyse, cv2.pyd'nin 64 bit sürümünü nerede bulabilirim?
PYTHONPATH
SimpleCV kütüphanesinin kurulumunun orada bıraktığı girişleri içerdiği ortaya çıktı . SimpleCV'yi zaten kaldırmış olmama rağmen, PYTHONPATH
geri yüklenmedi ve SimpleCV yüklemesinin bıraktığı çakışan OpenCV sürümlerine sahip bazı dizinlere işaret ediyordu. Çözüm: temizleyin PYTHONPATH
.