[python] “DLL로드 실패 : % 1은 (는) 유효한 Win32 응용 프로그램이 아닙니다.”해결 파이 게임용

최근에 Python 3.1과 Python 3.1 용 Pygame 모듈을 설치했습니다. 콘솔에 import python을 입력하면 다음 오류가 발생합니다.

Traceback (most recent call last):
  File "<pyshell#2>", line 1, in <module>
    import pygame
  File "C:\Python31\lib\site-packages\pygame\__init__.py", line 95, in <module>
    from pygame.base import *
ImportError: DLL load failed: %1 is not a valid Win32 application.

도와주세요!



답변

OS의 아키텍처 때문일 수 있습니다. OS가 64 비트이고 64 비트 버전의 Python을 설치 했습니까? 32 비트 버전 Python 3.1Pygame을 모두 설치하는 것이 도움이 될 수 있습니다 . 이는 공식적으로 32 비트로 만 제공 되며이 문제에 직면하지 않습니다.

64 비트 파이 게임이 여기 에서 유지 되고 있음을 알 수 있습니다. 32 비트 버전을 모두 선택하지 않으면 파이 게임 만 제거하고 기존 python3.1에 64 비트 버전을 설치하는 것이 좋습니다.


답변

질문에 대한 답변이 오래 전에 답변되었지만 해결책이 작동하지 않은 것 같습니다. 해당 오류가 발생했을 때 PyWin32 를 다운로드하여 문제를 해결할 수있었습니다.


답변

이 문제를 해결하기 위해 Python 32 비트 버전과 psycopg2 64 비트 버전을 설치했습니다. psycopg2 32 비트 버전을 설치 한 다음 작동했습니다.


답변

Python 2.7.9에서이 문제가 발생했으며 Python 2.7.10으로 업데이트하여 해결되었습니다 (이 질문에 대한 답변은 공개되지 않음).


답변

유사한 문제의 또 다른 가능한 원인은 processorArchitecturex64 프로세스에서 x86 공통 컨트롤 dll을로드하려고 시도하는 cx_freeze 매니페스트에서 잘못되었을 수 있습니다 .이 패치로 해결해야합니다.

https://bitbucket.org/anthony_tuininga/cx_freeze/pull-request/71/changed-x86-in-windows-manifest-to/diff


답변