programing

가져오기 오류: DLL 로드 실패: %1은 올바른 Win32 응용 프로그램이 아닙니다.하지만 DLL은 거기에 있습니다.

linuxpc 2023. 9. 3. 12:12
반응형

가져오기 오류: DLL 로드 실패: %1은 올바른 Win32 응용 프로그램이 아닙니다.하지만 DLL은 거기에 있습니다.

오류 "ImportError: DLL 로드 실패: %1은 유효한 Win32 응용 프로그램이 아닙니다."와 매우 유사한 상황이 발생했지만 답변이 제대로 작동하지 않습니다.

내 Python 코드는 다음과 같습니다.

import cv2

그러나 이 줄은 이 질문의 제목에 표시된 오류를 던집니다.

OpenCV에 했습니다.C:\lib\opencv이 64비트 시스템에서 사용할 수 있습니다.저는 64비트 파이썬을 사용하고 있습니다.

변수: "PYONPATH":PYTHONPATH=C:\lib\opencv\build\python\2.7에는 이폴는다포다니합이 포함되어 .cv2.pyd그리고 그게 다에요.

변수: 내 PATH 수:Path=%OPENCV_DIR%\bin;...에는 개폴는다음 39의있 등 이 들어 .opencv_core246d.dll.

은 OPENCV_DIR입니다.OPENCV_DIR=C:\lib\opencv\build\x64\vc11.

오류 "ImportError: DLL 로드 실패: %1은 유효한 Win32 응용 프로그램이 아닙니다."에 있는 솔루션은 "새 opencv 바이너리 경로(C:\opencv\build\bin\Release PATH 변수에 추가합니다 PATH 경환 변수이니다합동로에서그." 폴더OpenCV 바이너리 폴더)가 이미 .C:\lib\opencv\build\x64\vc11\bin) 내 경로에 있습니다.또한 OpenCV 설치에는 빌드/자바에 있는 빈 폴더를 제외하고 Release 폴더가 없습니다.

뭐가 잘못됐어요?Python에게 로딩 과정을 자세히 추적하라고 하면 됩니까?정확히 어떤 DLL 파일을 찾고 있습니까?

http://www.dependencywalker.com/, 에 따르면, 저는 그것을 알아차렸습니다.cv2.pyd안에C:\lib\opencv\build\python\2.732비트인 반면에 제가 실행하는 기계와 파이썬은 64비트입니다.그게 문제일까요?그리고 만약 그렇다면, 64비트 버전의 cv2.pyd는 어디에서 찾을 수 있습니까?

Python 확장 패키지의 비공식 윈도우즈 바이너리

여기에서 모든 파이썬 라이브러리를 찾을 수 있습니다.

당신이 사용하고 있는 파이썬 버전도 64비트인지 확인 부탁드립니다.그렇지 않다면 그것이 문제가 될 수 있습니다.32비트 Python 버전을 사용하고 있으며 OpenCV 라이브러리에 64비트 이진 파일을 설치했을 것입니다.

와, 이 문제에 대한 또 다른 사례를 찾았습니다.위의 내용 중 아무 것도 작동하지 않았습니다.결국 저는 python의 능력을 사용하여 로딩되는 것을 내성했습니다.Python 2.7의 경우 다음을 의미합니다.

import imp
imp.find_module("cv2")

로 인해 아나콘다 DLL 디렉터리에서 여러 번의 제거/설치 시도로 인해 건드리지 않은 전혀 예상치 못한 "cv2.pyd" 파일이 발견되었습니다.Python은 먼저 그곳을 보고 있었지만 나의 좋은 설치를 찾지 못했습니다.저는 그 cv2.pyd 파일을 삭제하고 imp.find_module("cv2")을 다시 시도했고 python은 즉시 올바른 파일을 찾아 cv2가 작동하기 시작했습니다.

따라서 다른 솔루션이 제대로 작동하지 않는 경우 Python Introspection을 사용하여 Python이 로드하려는 파일을 확인해야 합니다.

저의 경우, 64비트 파이썬을 가지고 있는데, 잘못된 버전인 lxml이었습니다. x64 버전도 사용했어야 했습니다.여기서 64비트 버전의 lxml을 다운로드하여 이 문제를 해결했습니다.

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

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

이것은 답답한 문제에 대한 가장 간단한 대답이었습니다.

저는 방금 이 문제를 겪었어요.제가 64비트 버전의 OpenCV 파일을 사용했기 때문이라는 것이 밝혀졌습니다.x86을 사용해봤는데 작동했습니다.

저도 같은 문제가 있었습니다.제가 한 일은 다음과 같습니다.

  1. 는 여기서 파이윈32 휠 파일을 다운로드했고,

  2. 저는 pywin32 모듈을 제거했습니다.제거하려면 명령 프롬프트에서 다음 명령을 실행합니다.

    pip uninstall pywin32

  3. 그런 다음 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을 사용하고 있다는 것이었습니다.설정이 프로젝트 속성실행 구성 파이썬 버전과 일치하지 않았습니다.

메뉴 Project → PropertiesPyDev에서 인터프리터를 Python 2.7.11로 설정했습니다.

실행 구성인터프리터에서 기본 인터프리터를 사용했습니다.Python 2.7.11로 변경하여 문제를 해결했습니다.

빌드 시스템( 경우 CMake)이 파일을 복사하는 경우<name>.dll<name>.pyd원본 파일이 실제로 DLL 파일이 아닌 경우 이 오류가 발생합니다.제 경우, 공유 라이브러리 구축이 꺼져 있어서 기본 파일이 실제로*.lib.

는 이 하면서 발견했습니다.pyd파일을 Dependency Walker에 저장하고 유효하지 않음을 확인합니다.

NumPy를 업데이트합니다.

pip install numpy --upgrade

나에게는 그게 효과가 있어요!

이것은 나에게 효과가 있었습니다.

pip install -- pywin32==227

32비트 윈도우즈 Installer를 사용하여 시스템에 다른 버전의 2.7.x 파이썬을 제거했다가 다시 설치했을 때도 같은 문제가 발생했습니다.저는 대부분의 수입 명세서에서 같은 오류를 발견했습니다.

새로 설치한 파이썬을 제거하고 64비트 윈도우 설치 프로그램을 다운로드한 후 다시 파이썬을 설치하면 작동합니다.

그래서 윈도우에서 vtk를 설치하는 데 문제가 있었습니다 (파이썬 3.7을 사용하기 때문에, 지금까지 사용할 수 있는 바이너리가 없습니다). 버전의 에만 해당됩니다.pip install vtk작동하지 않음)

저는 cmd에 파이썬을 썼습니다.

Python 3.7.3 on win32

이제 32비트로 실행되는 Python 3.7.3이 있다는 것을 알게 되었습니다.

그런 다음 VTK-8.2.0-cp37-cp37m-win32.whl에서 올바른 휠을 다운로드했습니다.

다음으로 저는 그 바퀴를 설치했습니다.

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

그런 다음 테스트를 해보니 효과가 있었습니다.

python
import vtk

저는 음성 문자 변환에 관한 코드를 작성하려고 시도하는 동안 같은 문제를 겪었습니다.

해결책은 매우 간단했습니다.pip 방법을 사용하여 이전 pywin32를 제거합니다.

pip uninstall pywin32

위의 내용은 32비트 컴퓨터용으로 기본적으로 존재하는 기존의 것을 제거합니다.다음을 사용하여 다시 설치합니다.

pip install pywin32

이렇게 하면 사용 중인 64비트 컴퓨터용으로 설치됩니다.

UVICON을 .
을 만들고 패키지를 설치하는 이 작동했습니다. 가 환 상 Python 새 설 수 작 되 었 습 행 니 다 이 업 는 하 치 경 다 시 을 생 키 성 하 를

를 설치할 수 .opencv공식 또는 비공식 사이트에서.

사용 중인 경우 이 질문과 이 문제를 참조하십시오.Anaconda.

그것은 매우 간단한 해결책을 가지고 있습니다. 설치 후opencv

cv2.pydC:\opencv\build\python\2.7\ **x64**C:\Python27\Lib\site-packages

신대, 소장을 넣으세요.cv2.pydC:\opencv\build\python\2.7\ **x86**C:\Python27\Lib\site-packages

MySQLdb를 가져올 때 이 오류가 발생했습니다.

제가 성공한 것은 파이썬을 제거한 다음 다시 설치하는 것이었습니다.

npm(https://www.npmjs.com/get-npm) 을 설치한 후 오류가 발생했습니다.파이썬을 이미 가지고 있었는데도 설치한 것이 한 가지 있었습니다.

처음에 복사했습니다.cv2.pyd/opencv/build/python/2.7/x86C:/Python27/Lib/site-packeges.

"RuntimeError: 모듈이 API 버전 9에 대해 컴파일되었지만 이 버전의 numpy는 7입니다."

그런 다음 설치했습니다.numpy-1.8.0-win32-superpack-python2.7.exeOpenCV는 정상적으로 작동합니다.

>>> import cv2
>>> print cv2.__version__
2.4.13
  1. Python 2.7.12 이하 버전을 설치했는지 확인하십시오.그렇지 않으면 반드시 이 오류가 발생합니다.
  2. OS가 64비트인 경우 Oracle 클라이언트가 64비트로 설치되어 있는지 확인합니다.
  3. Python 2.7용 Microsoft Visual C++ 컴파일러가 64비트 OS의 경우 64비트이고 32비트의 경우 32비트인지 확인합니다.

참고: OS가 64비트인 경우 64비트의 모든 패키지를 설치하거나 OS가 32비트인 경우 32비트 패키지를 설치합니다.

이것은 저에게 효과가 있었습니다.저는 여러 가지 방법을 시도해 보았지만, 이것이 저의 최선의 해결책이었습니다.

명령 프롬프트를 열고 다음을 입력합니다.

pip install opencv-python

(인터넷 연결이 켜져 있는지 확인합니다.)

그런 다음 다시 가져오기를 시도합니다.

또한 아나콘다 버전이 64비트일 때 32비트일 수도 있습니다.

만약 당신이 pycharm을 사용하고 있다면, 나는 설정으로 이동합니다 -> python 해석으로 가서 + 버튼을 클릭하고 그곳의 python 패키지 목록에서 이름을 검색합니다. 당신이 무언가를 설치하고 싶을 때 어디로 가야 하는지 보여주는 이미지.

해결책을 찾았어요번째 Scrapy 테스트를 시작하기 위해 아나콘다 프롬프트 창 대신 cmd 창을 사용할 수 있습니다.

언급URL : https://stackoverflow.com/questions/19019720/importerror-dll-load-failed-1-is-not-a-valid-win32-application-but-the-dlls

반응형