আমদানি ত্রুটি: ডিএলএল লোড ব্যর্থ হয়েছে:% 1 একটি বৈধ উইন 32 অ্যাপ্লিকেশন নয়। তবে ডিএলএল আছে


112

আমদানি-এরর মতো আমার পরিস্থিতি অনেকটা: ডিএলএল লোড ব্যর্থ হয়েছে:% 1 একটি বৈধ উইন 32 অ্যাপ্লিকেশন নয় , তবে উত্তরটি আমার পক্ষে কাজ করছে না।

আমার পাইথন কোড বলে:

import cv2

কিন্তু এই লাইনটি এই প্রশ্নের শিরোনামে প্রদর্শিত ত্রুটি নিক্ষেপ করে।

আমি C:\lib\opencvএই 64-বিট মেশিনে ওপেনসিভি ইনস্টল করেছি । আমি 64৪-বিট পাইথন ব্যবহার করছি।

আমার PYTHONPATH ভেরিয়েবলের: PYTHONPATH=C:\lib\opencv\build\python\2.7। এই ফোল্ডারে রয়েছে cv2.pydএবং এগুলি সবই।

আমার প্যাথ ভেরিয়েবল: Path=%OPENCV_DIR%\bin;...এই ফোল্ডারে 39 টি ডিএলএল ফাইল রয়েছে opencv_core246d.dll

OPENCV_DIR এই মান রয়েছে: OPENCV_DIR=C:\lib\opencv\build\x64\vc11

আমদানি ত্রুটির সমাধান : ডিএলএল লোড ব্যর্থ হয়েছে:% 1 একটি বৈধ উইন 32 নয় যা " C:\opencv\build\bin\Releaseউইন্ডোজ PATH এনভায়রনমেন্ট ভেরিয়েবলের জন্য নতুন ওপেনসিভি বাইনারি পাথ ( ) যুক্ত করতে বলেছে valid " তবে উপরে প্রদর্শিত হিসাবে, আমার প্যাথটিতে ইতিমধ্যে আমার ওপেনসিভি বাইনারি ফোল্ডার ( C:\lib\opencv\build\x64\vc11\bin) রয়েছে। এবং আমার ওপেনসিভি ইনস্টলেশনতে কোনও রিলিজ ফোল্ডার নেই (বিল্ড / জাভা এর অধীনে খালিটি ব্যতীত)।

কোন ভুল হচ্ছে তা সম্পর্কে কোনও ধারণা? আমি কি পাইথনকে ভার্চুয়ালভাবে লোডিংয়ের প্রক্রিয়াটি সনাক্ত করতে বলতে পারি? ঠিক কী ডিএলএল এটি অনুসন্ধান করছে?

ধন্যবাদ, লার্স

সম্পাদনা করুন:

আমি শুধু লক্ষ্য করেছি যে অনুযায়ী http://www.dependencywalker.com/ , cv2.pydমধ্যে C:\lib\opencv\build\python\2.732 বিট হয়, যেহেতু মেশিন এবং পাইথন আমি চলছি 64-বিট আছে। সেটা কি সমস্যা হতে পারে? এবং যদি তা হয় তবে আমি কোথায় cv2.pyd এর 64-বিট সংস্করণটি খুঁজে পাব?


9
এখানে ক্লিক করুন এবং 64-বিট ওপেনসিভি সন্ধান করুন
হত্যা করুন

1
@ কিলকনসোল: ধন্যবাদ, আমি চেষ্টা করব যেহেতু আমি ডাউনলোড করা ইনস্টল প্যাকেজটিতে x86 এবং x64 উভয় সাবফোল্ডার রয়েছে, তাই আমি ধরে নিয়েছিলাম এটিতে 64-বিটের যা কিছু আছে তা অন্তর্ভুক্ত রয়েছে। দৃশ্যত না. হুররে, এটা ঠিক করে দিয়েছে! এখন আমরা "আমদানি ত্রুটি: numpy.core.m মাল্টিয়ারে আমদানি করতে ব্যর্থ" এ চলেছি, সুতরাং আমি একই সাইটটি -৪-বিট নাম্বারের জন্য চেষ্টা করব। যদি আপনি নিজের মন্তব্যে উত্তরে পরিণত হন তবে আমি উজ্জীবিত হয়ে তা গ্রহণ করব।
LarsH

আপনি কোন পাইথন সংস্করণ ব্যবহার করেছেন? (প্রসেসরের বিট সংস্করণের ক্ষেত্রে নয়)

1
@ বিগ্রেডজ: ২.7, যদি আপনি যা চাইছেন তা যদি হয়।
LarsH

1
আমার একই সমস্যা ছিল এবং নীচের সমাধানগুলির PYTHONPATHকোনওটিই আমাকে সহায়তা করেনি, তাই দেখা গেল যে সিম্পলসিভি লাইব্রেরির ইনস্টলটি সেখানে রেখে গেছে এমন আমার প্রবেশ ব্যবহারগুলিতে ব্যবহৃত হয়েছিল। আমি ইতিমধ্যে সিম্পলসিভিটি আনইনস্টল করেছি তবুও, এটি PYTHONPATHপুনরুদ্ধার করা হয়নি এবং সিম্পলসিভি ইনস্টল দ্বারা ছেড়ে যাওয়া ওপেনসিভি-র বিরোধী সংস্করণ সহ কয়েকটি ডিরেক্টরিতে ইশারা করছিল। সমাধান: পরিষ্কার করুন PYTHONPATH
আন্তোন ডানিয়েকো

উত্তর:


81

এটি সত্যিই সাহায্য করেছে। আমি কি নিশ্চিত ছিল না ভুল ছিল কি। আমার ওপেনসিভি, অ্যানাকোন্ডা 3, পাইথন 3 এর সংস্করণ ছিল। উপরের প্যাকেজ তালিকা থেকে ওপেনসিভি_পিথন -৩.৩.০ + অবদান-সি.পি.৫৫-সি.পি.৫৫-উইন_এএমডি 64৪ ইনস্টল করা হয়েছে এবং কয়েক ঘন্টা লড়াইয়ের পরে সিভি 2 সাফল্যের সাথে আমদানি করতে সক্ষম হয়েছিল। অসংখ্য ধন্যবাদ.
পান্নাডাভ

41

আপনি যে অজগর সংস্করণটি ব্যবহার করছেন তাও 64৪ বিট কিনা তা দয়া করে পরীক্ষা করে দেখুন। তা না হলে বিষয়টি হতে পারে। আপনি একটি 32 বিট পাইথন সংস্করণ ব্যবহার করছেন এবং OPENCV লাইব্রেরির জন্য একটি 64 বিট বাইনারি ইনস্টল করতে পারেন।


প্রশ্নে উল্লিখিত হিসাবে, আমি 64৪-বিট পাইথন ব্যবহার করছিলাম।
LarsH

17

বাহ, আমি এই সমস্যার জন্য আরও একটি মামলা পেয়েছি। উপরের কোনটিই কাজ করেনি। অবশেষে আমি অজগরটির বোঝা যা বোঝাচ্ছিল তার অন্তঃকরণের ক্ষমতা ব্যবহার করেছি। অজগর ২.7 এর অর্থ এটি:

import imp
imp.find_module("cv2")

এটি একটি অ্যানাকোন্ডা ডিএলএল ডিরেক্টরিতে সম্পূর্ণ অপ্রত্যাশিত "cv2.pyd" ফাইলটিকে রূপান্তরিত করে যা একাধিক আনইনস্টল / ইনস্টল করার চেষ্টা করেও স্পর্শ করেনি। পাইথন সেখানে প্রথমে তাকিয়ে ছিল এবং আমার ভাল ইনস্টলেশন খুঁজে পাচ্ছে না। আমি সেই সিভি 2.পিডি ফাইলটি মুছলাম এবং আবার imp.find_module ("cv2") চেষ্টা করেছি এবং পাইথন তত্ক্ষণাত সঠিক ফাইলটি খুঁজে পেয়েছে এবং সিভি 2 কাজ শুরু করে।

সুতরাং অন্য কোনও সমাধান যদি আপনার পক্ষে কাজ করে না, আপনি কী অজগরটি ফাইল লোড করার চেষ্টা করছেন তা দেখতে আপনি পাইথন ইন্ট্রোস্পেকশনটি ব্যবহার করেছেন তা নিশ্চিত করুন।


4
আমার একটি সমস্যা ছিল এটি ফাইলের একটি সংস্করণ সম্পূর্ণ আলাদা ফোল্ডারে চালানোর চেষ্টা করছিল। এই সমাধানটি আমাকে সত্যই কী ঘটছে তা নির্ধারণ করতে সহায়তা করেছিল। ধন্যবাদ!
এমাদ ওয়াই

3
এটি একটি দুর্দান্ত উত্তর, ধন্যবাদ! আমি পাইডেভের সাথে একটি ইস্যুতে দৌড়েছি যেখানে এটি পাইথনের একটি বেমানান ইনস্টলেশন থেকে "সিটিপস" লোড করছে এবং আমি বুঝতে পেরেছিলাম উইনপাইথনটি ব্যবহার করার জন্য আমার দোভাষীটি স্থাপন করা দরকার যা এটি স্থির করেছে।
eacousineau

7

আমার ক্ষেত্রে, আমার কাছে bit৪ বিট অজগর রয়েছে, এবং এটি ছিল lxML যা ভুল সংস্করণ ছিল - আমারও এটির x64 সংস্করণটি ব্যবহার করা উচিত ছিল। আমি এখানে lxML এর 64-বিট সংস্করণটি ডাউনলোড করে সমাধান করেছি:

https://pypi.python.org/pypi/lxml/3.4.1

lxml-3.4.1.win-amd64-py2.7.exe

হতাশ ইস্যুটির এটি সহজ উত্তর ছিল।


6

আমার কেবল এই সমস্যা ছিল, এটি কেবল তখনই পরিণত হয়েছিল কারণ আমি ওপেনসিভি ফাইলের x64 সংস্করণটি ব্যবহার করছি। X86 চেষ্টা করেছিলেন এবং এটি কাজ করেছিল।


2

আপনার বিল্ড-সিস্টেম (আমার ক্ষেত্রে CMake) কপি থেকে ফাইল যদি <name>.dllকরতে <name>.pyd, আপনি এই ভুল পান করবে মূল ফাইল আসলে একটি Dll ছিল না। আমার ক্ষেত্রে, শেয়ার করা লাইব্রেরিগুলি বিল্ডিংটি বন্ধ হয়ে গেছে, সুতরাং অন্তর্নিহিত ফাইলটি আসলে একটি*.lib

DependencyWalkerpydফাইলটি লোড করে এবং এটি বৈধ নয় তা খুঁজে পেয়ে আমি এই ত্রুটিটি আবিষ্কার করেছি ।


2

আমারও একই সমস্যা ছিল। আমি যা করেছি তা এখানে:

  1. আমি থেকে pywin32 চাকা ফাইল ডাউনলোড এখানে , তারপর

  2. আমি পাইউইন 32 মডিউলটি আনইনস্টল করেছি । কমান্ড প্রম্পটে নিম্নলিখিত কমান্ডটি কার্যকর করতে আনইনস্টল করুন।

    pip uninstall pywin32

  3. তারপরে, আমি পাইভিন 32 পুনরায় ইনস্টল করেছি । এটি ইনস্টল করতে পাইনিউন 32 হুইল ফাইলটি পড়ে একই ডিরেক্টরিতে কমান্ড প্রম্পটটি খুলুন। তারপরে নিম্নলিখিত কমান্ডটি কার্যকর করুন।

    pip install <Name of the wheel file with extension> হুইল ফাইলটি এর মতো হবে: পাইউইন 32-এক্সএক্সএক্সএক্সএক্সএক্সএক্সএক্স-নন-উইন 32.Wl

এটি আমার জন্য সমস্যার সমাধান করে। আপনি এটি ব্যবহার করে দেখতেও পছন্দ করতে পারেন। আশা করি এটি আপনার পক্ষেও কাজ করবে।


2

আমি কপি cv2.pydথেকে ফাইল /opencv/build/python/2.7/x86ফোল্ডার পরিবর্তে থেকে /x64ফোল্ডার C:/Python27/Lib/site-packeges। আমি এখানে প্রদত্ত বাকী নির্দেশাবলী অনুসরণ করেছি ।

অন্য কারও দ্বারা যুক্ত করা হয়েছে, যাচাই করা হয়নি: আমি ফাইলটি cv2.pydফোল্ডারেও অনুলিপি করি C:/Python27/Lib/site-packages/cv2। এটা কাজ করে।


1

আমার জন্য সমস্যা হ'ল আমি একই একি্লিপ্স প্রকল্পে পাইথনের বিভিন্ন সংস্করণ ব্যবহার করছিলাম । আমার সেটআপটি প্রোজেক্ট প্রোপার্টি এবং রান কনফিগারেশন পাইথন সংস্করণগুলির সাথে সামঞ্জস্যপূর্ণ ছিল না ।

ইন প্রকল্প> প্রোপার্টি> PyDev , আমি Python2.7.11 করার ইন্টারপ্রেটার সেট ছিল।

ইন চালান কনফিগারেশনগুলির> ইন্টারপ্রেটার , আমি ডিফল্ট ইন্টারপ্রেটার ব্যবহার করছিলেন। পাইথনে ২.7.১১ এ পরিবর্তন করা সমস্যার সমাধান করে।


1

আমি যখন আমার সিস্টেমে 32 বিট উইন্ডোজ ইনস্টলার ব্যবহার করে পাইথনের 2.7.x এর আলাদা সংস্করণটি ইনস্টল ও পুনরায় ইনস্টল করি তখন আমি একই সমস্যার মুখোমুখি হয়েছি। আমার বেশিরভাগ আমদানির বিবৃতিতে আমি একই ত্রুটি পেয়েছি। আমি নতুন ইনস্টলড পাইথন আনইনস্টল করেছিলাম এবং একটি 64 বিট উইন্ডোজ ইনস্টলার ডাউনলোড করে আবার পাইথন পুনরায় ইনস্টল করি এবং এটি কাজ করে। আশা করি এটি আপনাকে সহায়তা করবে।


1

সুতরাং উইন্ডোজের নীচে আমার ভিটিপি ইনস্টল করতে সমস্যা হয়েছিল (আমি পাইথন ৩.7 ব্যবহার করি তাই এখন পর্যন্ত কোনও পুরানো পাইথন সংস্করণ পাইপ ইনস্টল ভিটিপি কাজ করছে না তার জন্য এখন পর্যন্ত কোনও বাইনারি নেই)

আমি আমার সিএমডি তে পাইথন লিখেছিলাম:

Python 3.7.3 on win32

সুতরাং আমি এখন জানি যে আমার কাছে অজগরটি ৩.7.৩ রয়েছে ৩২ বিটে চলছে।

আমি তখন ভিটিকে ‑ 8.2.0 ‑ সিপি 3 ‑ সিপি 3p3 এম ‑ উইন 32.Wl এ সঠিক চাকাটি ডাউনলোড করেছি

এরপরে আমি সেই চাকাটি ইনস্টল করেছিলাম:

pip install VTK-8.2.0-cp37-cp37m-win32.whl

তারপরে আমি এটি পরীক্ষা করেছি এবং এটি কাজ করেছে:

python
import vtk


0

প্রথমে আমি কপি cv2.pydথেকে /opencv/build/python/2.7/x86থেকে C:/Python27/Lib/site-packeges। ত্রুটি ছিল

"রানটাইমএরর: মডিউলটি এপিআই সংস্করণ 9 এর সাথে সংকলিত হয়েছে তবে নম্পির এই সংস্করণটি 7"

তারপরে আমি ইনস্টল করেছি numpy-1.8.0-win32-superpack-python2.7.exeএবং ওপেনসিভি ঠিকঠাক কাজ করে।

>>> import cv2
>>> print cv2.__version__
2.4.13


0
  1. দয়া করে নিশ্চিত করুন যে আপনি অজগরটি ২.7.১২ বা তার চেয়ে কম সংস্করণ ইনস্টল করেছেন অন্যথায় আপনি অবশ্যই এই ত্রুটিটি পেয়ে যাবেন।
  2. ওএস 64৪ বিট থাকলে ওরাकल ক্লায়েন্টটি bit৪ বিট ইনস্টল রয়েছে তা নিশ্চিত করুন।
  3. মাইক্রোসফ্ট ভিজ্যুয়াল সি ++ সংকলক পাইথন 2.7 এর জন্য 64 বিট ওএসের জন্য বিটের জন্য 64 বা 32 বিটের জন্য 32 বিট রয়েছে। দ্রষ্টব্য: - যদি আপনার ওএস 64 বিটের সমস্ত প্যাকেজটি 64 বিট ইনস্টল হয় বা যদি 32 বিট ইনস্টল 32 বিট প্যাকেজ থাকে।

0

এটি একটি খুব সহজ সমাধান আছে। opencv জায়গা ইনস্টল করার পরে

cv2.pydথেকে C:\opencv\build\python\2.7\ **x64**থেকেC:\Python27\Lib\site-packages

পরিবর্তে, স্থান cv2.pydথেকে C:\opencv\build\python\2.7\ **x86**থেকেC:\Python27\Lib\site-packages


0

মাইএসকিউএলডিবি আমদানির চেষ্টা করার সময় আমি এই ত্রুটিটি পেয়েছি।

আমার জন্য যা কাজ করেছিল তা হ'ল পাইথন আনইনস্টল করা এবং তারপরে এটি পুনরায় ইনস্টল করা।

এনপিএম ইনস্টল করার পরে আমি ত্রুটি পেয়েছি ( https://www.npmjs.com/get-npm )। এটি করা একটি কাজ পাইথন ইনস্টল করা ছিল যদিও আমার কাছে এটি ইতিমধ্যে ছিল।


0

এটি আমার পক্ষে কাজ করেছে। আমি বিভিন্ন পদ্ধতি চেষ্টা করেছি তবে এটি ছিল আমার সেরা সমাধান।

কমান্ড প্রম্পট ওপেন করুন এবং নিম্নলিখিত টাইপ করুন; pip install opencv-python। (আপনার ইন্টারনেট চালু আছে তা নিশ্চিত করুন)। এর পরে আবার এটি আমদানি করার চেষ্টা করুন।


0

এই আমার সাথে কাজ করেছে

pip install -- pywin32==227

1
স্ট্যাক ওভারফ্লোতে আপনাকে স্বাগতম। কেন এটি আপনার জন্য কাজ করে? দয়া করে, আপনি এই উত্তরে আরও বিশদ যুক্ত করতে পারেন?
আজমেটজিন

-2

আমি সমাধানটি পেয়েছি, সম্ভবত আপনি প্রথম স্কেরাপি পরীক্ষা শুরু করার জন্য অ্যানাকোন্ডা প্রম্পট উইন্ডোর পরিবর্তে আপনি সিএমডি উইন্ডোটি ব্যবহার করার চেষ্টা করতে পারেন।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.