ImportError : DLL로드 실패 : % 1은 (는) 유효한 Win32 응용 프로그램이 아닙니다. 하지만 DLL이 있습니다.
ImportError : DLL load failed : % 1 is not a valid Win32 application 에서 상황이 매우 비슷 하지만 대답이 작동하지 않습니다.
내 Python 코드는 다음과 같습니다.
import cv2
그러나 그 줄은이 질문의 제목에 표시된 오류를 던집니다.
C:\lib\opencv이 64 비트 컴퓨터에 OpenCV가 설치되어 있습니다. 64 비트 Python을 사용하고 있습니다.
내 PYTHONPATH 변수 : PYTHONPATH=C:\lib\opencv\build\python\2.7. 이 폴더에는 cv2.pyd그게 전부입니다.
내 PATH 변수 : Path=%OPENCV_DIR%\bin;...이 폴더에는 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 환경 변수 에 추가" 하라는 메시지가 표시됩니다. 그러나 위와 같이 이미 C:\lib\opencv\build\x64\vc11\binPATH에 OpenCV 바이너리 폴더 ( )가 있습니다. 그리고 내 OpenCV 설치에는 Release 폴더가 없습니다 (빌드 / 자바 아래의 빈 폴더 제외).
무엇이 잘못되었는지에 대한 아이디어가 있습니까? 로딩 프로세스를 자세히 추적하도록 Python에 지시 할 수 있습니까? 정확히 어떤 DLL을 찾고 있습니까?
고마워, Lars
편집하다:
난 그냥에 따르면 것으로 나타났습니다 http://www.dependencywalker.com/ 의 cv2.pyd의는 C:\lib\opencv\build\python\2.7내가 실행 해요 기계 및 파이썬 64 비트 인 반면 32 비트입니다. 그게 문제일까요? 그렇다면 64 비트 버전의 cv2.pyd를 어디에서 찾을 수 있습니까?
Python 확장 패키지 용 비공식 Windows 바이너리
여기에서 모든 파이썬 라이브러리를 찾을 수 있습니다.
사용중인 Python 버전도 64 비트인지 확인하세요. 그렇지 않다면 문제가 될 수 있습니다. 32 비트 파이썬 버전을 사용하고 OPENCV 라이브러리 용 64 비트 바이너리를 설치했을 것입니다.
와,이 문제에 대한 또 다른 사례를 찾았습니다. 위의 어느 것도 작동하지 않았습니다. 결국 나는로드되는 것을 검사하는 파이썬의 능력을 사용했습니다. Python 2.7의 경우 이는 다음을 의미합니다.
import imp
imp.find_module("cv2")
이로 인해 Anaconda DLL 디렉토리에서 완전히 예상치 못한 "cv2.pyd"파일이 발견되었으며 여러 번의 제거 / 설치 시도에 영향을받지 않았습니다. 파이썬이 먼저 거기를 찾고 있었고 내 좋은 설치를 찾지 못했습니다. 나는 그 cv2.pyd 파일을 삭제하고 imp.find_module ( "cv2")을 다시 시도했고 파이썬은 즉시 올바른 파일을 찾았고 cv2가 작동하기 시작했습니다.
따라서 다른 솔루션 중 어느 것도 작동하지 않는 경우 python introspection을 사용하여 python이로드하려는 파일을 확인하십시오.
제 경우에는 64 비트 파이썬이 있고 잘못된 버전은 lxml이었습니다. x64 버전도 사용해야했습니다. 여기에서 lxml 64 비트 버전을 다운로드하여이 문제를 해결했습니다.
https://pypi.python.org/pypi/lxml/3.4.1
lxml-3.4.1.win-amd64-py2.7.exe
이것은 실망스러운 문제에 대한 가장 간단한 대답이었습니다.
방금이 문제가 있었는데 x64 버전의 opencv 파일을 사용했기 때문이었습니다. x86을 사용해 보았고 작동했습니다.
빌드 시스템 (내 경우 CMake)이 파일을에서 <name>.dll으로 복사 <name>.pyd하면 원본 파일이 실제로 dll이 아닌 경우이 오류가 발생합니다. 제 경우에는 공유 라이브러리 빌드가 꺼 졌으므로 기본 파일은 실제로 *.lib.
DependencyWalker 에서 pyd파일 을로드하고 유효하지 않음을 확인하여이 오류를 발견했습니다 .
나는 같은 문제가 있었다. 내가 한 일은 다음과 같습니다.
여기 에서 pywin32 Wheel 파일을 다운로드 한 다음
pywin32 모듈을 제거했습니다 . 제거하려면 명령 프롬프트에서 다음 명령을 실행하십시오.
pip uninstall pywin32그런 다음 pywin32를 다시 설치했습니다 . 설치하려면 pywin32 휠 파일이있는 동일한 디렉토리에서 명령 프롬프트를 엽니 다. 그런 다음 다음 명령을 실행하십시오.
pip install <Name of the wheel file with extension>휠 파일은 다음과 같습니다. piwin32-XXX-cpXX-none-win32.whl
그것은 나를 위해 문제를 해결합니다. 시도해 볼 수도 있습니다. 그것이 당신에게도 효과가 있기를 바랍니다.
나는 복사 cv2.pyd에서 파일을 /opencv/build/python/2.7/x86폴더 대신에서 /x64에 폴더 C:/Python27/Lib/site-packeges. 여기에 제공된 나머지 지침을 따랐 습니다 .
확인되지 않은 다른 사람이 추가 함 : 파일 cv2.pyd을 폴더로 복사 합니다 C:/Python27/Lib/site-packages/cv2. 효과가있다.
나에게 문제는 동일한 Eclipse 프로젝트 에서 다른 버전의 Python을 사용하고 있다는 것 입니다. 내 설정이 프로젝트 속성 및 실행 구성 Python 버전 과 일치하지 않습니다 .
에서 프로젝트> 속성>의 PyDev , 나는 Python2.7.11에 통역 세트를했다.
에서 실행 구성> 통역 , 나는 기본 통역을 사용했다. Python 2.7.11로 변경하면 문제가 해결되었습니다.
32 비트 Windows Installer를 사용하여 내 시스템에서 다른 버전의 Python 2.7.x를 제거하고 다시 설치할 때 동일한 문제가 발생했습니다. 대부분의 수입 명세서에서 동일한 오류가 발생했습니다. 새로 설치된 Python을 제거하고 64 비트 Windows 설치 프로그램을 다운로드하고 Python을 다시 설치했는데 제대로 작동했습니다. 도움이 되었기를 바랍니다.
우선 복사 cv2.pyd에서 /opencv/build/python/2.7/x86에 C:/Python27/Lib/site-packeges. 오류는
"RuntimeError : 모듈이 API 버전 9에 대해 컴파일되었지만이 버전의 numpy는 7입니다."
그런 다음 설치 numpy-1.8.0-win32-superpack-python2.7.exe하고 opencv가 제대로 작동합니다.
>>> import cv2
>>> print cv2.__version__
2.4.13
공식 또는 비공식 사이트 opencv에서 설치할 수 있습니다 .
을 사용하는 경우이 질문 과이 문제를 참조하십시오 Anaconda.
- Please make sure that you have installed python 2.7.12 or below version otherwise you will get this error definitely.
- Make sure Oracle client is 64 bit installed if OS is 64 Bit.
- Make sure Microsoft Visual C++ Compiler for Python 2.7 is 64 for bit for 64 bit Os or 32 bit for 32 bit. Note:- IF ur OS is 64 bit install all package of 64 bit or if Os is 32 bit install 32 bit package.
It has a very simple solution. After installing opencv place
cv2.pyd from C:\opencv\build\python\2.7\ **x64** to C:\Python27\Lib\site-packages
instead of, place cv2.pyd from C:\opencv\build\python\2.7\ **x86** to C:\Python27\Lib\site-packages
I found the solution, maybe you can try to use the cmd window rather than the anaconda prompt window to start you first scrapy test.
'developer tip' 카테고리의 다른 글
| / usr / libexec / java_home에서 반환 된 Mac OS의 기본 Java VM을 어떻게 변경할 수 있습니까? (0) | 2020.08.19 |
|---|---|
| Angularjs는 모범 사례 축소 (0) | 2020.08.19 |
| Visual Studio "찾기"결과 "검색 할 파일이 없습니다. 중지 된 진행률 찾기"가 표시됩니다. (0) | 2020.08.19 |
| 공장, 공급자 및 서비스의 차이점은 무엇입니까? (0) | 2020.08.19 |
| pcolor를 사용하는 matplotlib의 히트 맵? (0) | 2020.08.19 |