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, namunPYTHONPATH
tidak dipulihkan dan mengarah ke beberapa direktori dengan versi OpenCV yang bertentangan yang ditinggalkan oleh pemasangan SimpleCV. Solusi: bersihkanPYTHONPATH
.Jawaban:
Binari Windows Tidak Resmi untuk Paket Ekstensi Python
Anda dapat menemukan libs python dari sini
sumber
Silakan periksa apakah versi python yang Anda gunakan juga 64 bit. Jika tidak, maka itu bisa menjadi masalahnya. Anda akan menggunakan versi python 32 bit dan akan menginstal binari 64 bit untuk pustaka OPENCV.
sumber
Wow, saya menemukan kasus lain untuk masalah ini. Tak satu pun di atas berhasil. Akhirnya saya menggunakan kemampuan python untuk introspeksi apa yang sedang dimuat. Untuk python 2.7 ini berarti:
Ini memunculkan file "cv2.pyd" yang benar-benar tidak terduga dalam direktori DLL Anaconda yang tidak tersentuh oleh beberapa kali pencopotan / pemasangan. Python mencari di sana lebih dulu dan tidak menemukan instalasi saya yang bagus. Saya menghapus file cv2.pyd itu dan mencoba imp.find_module ("cv2") lagi dan python segera menemukan file yang benar dan cv2 mulai bekerja.
Jadi jika tidak ada solusi lain yang berhasil untuk Anda, pastikan Anda menggunakan introspeksi python untuk melihat file apa yang sedang coba dimuat python.
sumber
Dalam kasus saya, saya memiliki python 64bit, dan itu adalah versi yang salah lxml - saya seharusnya menggunakan versi x64 itu juga. Saya menyelesaikan ini dengan mengunduh versi 64-bit lxml di sini:
https://pypi.python.org/pypi/lxml/3.4.1
Ini adalah jawaban paling sederhana untuk masalah yang membuat frustrasi.
sumber
Saya baru saja mengalami masalah ini, ternyata hanya karena saya menggunakan file opencv versi x64. Mencoba x86 dan berhasil.
sumber
Jika sistem build Anda (CMake dalam kasus saya) menyalin file dari
<name>.dll
ke<name>.pyd
, Anda akan mendapatkan kesalahan ini jika file asli sebenarnya bukan dll. Dalam kasus saya, membangun perpustakaan bersama dimatikan, jadi file yang mendasarinya sebenarnya adalah*.lib
.Saya menemukan kesalahan ini dengan memuat
pyd
file di DependencyWalker dan menemukan bahwa itu tidak valid.sumber
Saya memiliki masalah yang sama. Inilah yang saya lakukan:
Saya mengunduh file roda pywin32 dari sini , lalu
Saya menghapus modul pywin32 . Untuk menghapus instalasi, jalankan perintah berikut di Command Prompt.
pip uninstall pywin32
Kemudian, saya menginstal ulang pywin32 . Untuk menginstalnya, buka Command Prompt di direktori yang sama tempat file roda pywin32 berada. Kemudian jalankan perintah berikut.
pip install <Name of the wheel file with extension>
File roda akan seperti: piwin32-XXX-cpXX-none-win32.whlIni memecahkan masalah saya. Anda mungkin juga ingin mencobanya. Semoga berhasil juga untuk Anda.
sumber
Saya menyalin
cv2.pyd
file dari/opencv/build/python/2.7/x86
folder, bukan dari/x64
folder keC:/Python27/Lib/site-packeges
. Saya mengikuti instruksi lainnya yang disediakan di sini .Ditambahkan oleh orang lain, tidak diverifikasi: Saya juga menyalin file
cv2.pyd
ke folderC:/Python27/Lib/site-packages/cv2
. Berhasil.sumber
Bagi saya masalahnya adalah saya menggunakan versi Python yang berbeda dalam proyek Eclipse yang sama . Pengaturan saya tidak konsisten dengan Properti Proyek dan versi Jalankan Konfigurasi Python.
Di Project> Properties> PyDev , saya mengatur Interpreter ke Python2.7.11.
Di Run Configurations> Interpreter , saya menggunakan Default Interpreter. Mengubahnya ke Python 2.7.11 memperbaiki masalah.
sumber
Saya menghadapi masalah yang sama ketika saya menghapus dan menginstal ulang versi berbeda dari 2.7.x Python di sistem saya menggunakan Penginstal Windows 32 bit. Saya mendapat kesalahan yang sama di sebagian besar pernyataan impor saya. Saya mencopot pemasangan Python yang baru diinstal dan mengunduh penginstal Windows 64 bit dan menginstal ulang Python lagi dan itu berhasil. Semoga ini bisa membantu Anda.
sumber
Jadi saya mengalami masalah saat menginstal vtk di bawah windows (karena saya menggunakan python 3.7 sejauh ini tidak ada biner yang tersedia hanya untuk versi python yang lebih lama pip install vtk tidak berfungsi)
Saya memang menulis python di cmd saya:
Python 3.7.3 on win32
Jadi sekarang saya tahu saya memiliki python 3.7.3 yang berjalan pada 32 bit.
Saya kemudian mengunduh roda yang benar di VTK ‑ 8.2.0 ‑ cp37 ‑ cp37m ‑ win32.whl
Selanjutnya saya memasang roda itu:
Kemudian saya mengujinya dan berhasil:
sumber
Perbarui numpy.
pip install numpy --upgrade
Bekerja untuk saya !!
sumber
Pertama saya salin
cv2.pyd
dari/opencv/build/python/2.7/x86
keC:/Python27/Lib/site-packeges
. Kesalahannya adalahKemudian saya menginstal
numpy-1.8.0-win32-superpack-python2.7.exe
dan opencv berfungsi dengan baik.sumber
Anda dapat menginstal
opencv
dari resmi atau tidak resmi .Lihat pertanyaan ini dan masalah ini jika Anda menggunakan
Anaconda
.sumber
sumber
Ini memiliki solusi yang sangat sederhana. Setelah menginstal
opencv
tempatcv2.pyd
dariC:\opencv\build\python\2.7\ **x64**
keC:\Python27\Lib\site-packages
alih-alih, tempatkan
cv2.pyd
dariC:\opencv\build\python\2.7\ **x86**
hinggaC:\Python27\Lib\site-packages
sumber
Saya mendapat kesalahan ini saat mencoba mengimpor MySQLdb.
Apa yang berhasil bagi saya adalah menghapus Python dan menginstalnya kembali.
Saya mendapat kesalahan setelah menginstal npm ( https://www.npmjs.com/get-npm ). Satu hal yang dilakukannya adalah menginstal Python meskipun saya sudah memilikinya.
sumber
Ini berhasil untuk saya. Saya telah mencoba metode yang berbeda tetapi ini adalah solusi terbaik saya.
Buka command prompt dan ketik berikut ini;
pip install opencv-python
. (pastikan internet Anda aktif). setelah itu coba impor lagi.sumber
Yang ini berhasil dengan saya
sumber
Saya menemukan solusinya, mungkin Anda dapat mencoba menggunakan jendela cmd daripada jendela prompt anaconda untuk memulai tes memo pertama Anda.
sumber