OSError: [WinError 193] %1은 유효한 Win32 응용 프로그램이 아닙니다.

Zeeshan Afridi 2023년10월10일
  1. OSError: [WinError 193] %1은(는) 유효한 Win32 응용 프로그램이 아닙니다는 무엇입니까?
  2. OSError: [WinError 193] %1 is not a valid Win32 application이 발생하는 이유
  3. OSError: [WinError 193] %1은(는) 유효한 Win32 응용 프로그램이 아닙니다의 다양한 이유 및 해결 방법
OSError: [WinError 193] %1은 유효한 Win32 응용 프로그램이 아닙니다.

실행 파일(.exe)을 실행하려고 하면 오류가 발생합니다. 이 오류는 실행 파일이 유효한 Win32 응용 프로그램이 아닐 때 발생합니다.

로컬 컴퓨터의 프로세서 아키텍처와 실행 파일 아키텍처 간의 불일치로 인해 발생할 수 있습니다. .exe 파일을 두 번 클릭하면 다음과 같은 오류 메시지가 나타날 수 있습니다.

Error: oserror: [winerror 193] %1 is not a valid win32 application.
Error loading %

OSError: [WinError 193] %1은(는) 유효한 Win32 응용 프로그램이 아닙니다는 무엇입니까?

Python으로 개발할 때 가장 큰 좌절 중 하나는 Python 오류를 처리하는 것입니다. Python 코드를 작성할 때 발생할 수 있는 다양한 오류가 많이 있지만 처리해야 할 가장 혼란스러운 오류 중 하나는 OSError: [WinError 193] %1 is not a valid Win32 application입니다.

이 오류는 컴퓨터에 올바르게 설치되지 않은 Python 스크립트 또는 프로그램을 실행하려고 할 때 발생합니다.

명령줄에서 Python 스크립트를 실행하든 Python과 연결된 파일을 두 번 클릭하든 오류가 발생합니다. 이 오류는 Python 코드에 오류가 있음을 알려주는 구문 오류 또는 기타 오류와도 다릅니다.

이 오류는 일반적으로 컴퓨터의 Python 실행 파일 또는 .pyd 파일에 대한 잘못된 경로로 인해 발생합니다.

OSError: [WinError 193] %1 is not a valid Win32 application이 발생하는 이유

브라우저에서 새 창을 열 때마다 열려고 하는 응용 프로그램이 유효한 Win32 응용 프로그램이 아니라는 오류 메시지가 나타날 수 있습니다. 이 오류는 Internet Explorer 브라우저에서 발생하며 열려는 파일이 유효한 응용 프로그램이 아님을 의미합니다.

단순히 파일 확장자를 수정하여 모든 파일을 유효한 Win32 응용 프로그램으로 표시할 수 있으므로 이는 중요한 보안 허점이 될 수 있습니다. 일반적인 파일 편집 소프트웨어를 사용하면 이 작업을 매우 쉽게 수행할 수 있습니다.

따라서 주의하지 않으면 상관없는 파일을 열게 됩니다. 이 오류가 발생하는 가장 일반적인 이유 중 하나는 응용 프로그램이 아닌 파일을 열려고 하기 때문입니다.

예를 들어 .html 확장자를 가진 HTML 파일이 있는 경우 작동하지 않습니다. 브라우저에서 파일을 열려면 파일 확장자를 .exe로 변경해야 합니다.

또 다른 이유는 파일이 손상되었거나 다른 문제가 있을 수 있습니다. 이 경우 소스에서 파일을 다시 다운로드하고 컴퓨터에서 열어봐야 합니다.

OSError: [WinError 193] %1은(는) 유효한 Win32 응용 프로그램이 아닙니다의 다양한 이유 및 해결 방법

다음은 오류의 원인과 해결 방법입니다.

Python 파일의 Python subprocess 모듈

Python 파일에서 Python subprocess 모듈을 호출하고 있습니다. Python subprocess 모듈은 명령줄 인수만 허용합니다.

Python 코드를 실행하려면 subprocess 모듈을 통해 실행할 수 있는 Win32 실행 파일을 생성하거나 스크립트로 실행하여 Python 코드에서 subprocess 모듈을 사용해야 합니다.

OSError의 예가 있습니다. 이 코드는 OSError를 표시한 다음 이 오류에 대한 솔루션을 제공합니다.

import subprocess

subprocess.call(["hello.py", "htmlfilename.htm"])

출력:

OSError: [WinError 193] %1 is not a valid Win32 application

이 시나리오에서 Python 인터프리터 내에서 subprocess를 사용하여 Python 파일 hello.py를 호출하면 OSError가 표시됩니다.

이는 hello.py가 실행 가능하지 않음을 표시합니다. 실행을 위해 실행 파일은 다음과 같이 명확해야 합니다.

subprocess.call(["python.exe", "hello.py", "htmlfilename.htm"])

python.exe를 검색 경로에 표시하려면 python.exe 주소를 실행할 실행 파일의 전체 경로를 전달해야 합니다.

import sys
import subprocess

subprocess.call([sys.executable, "hello.py", "htmlfilename.htm"])

Python과 TensorFlow의 호환되지 않는 버전

Python 및 TensorFlow의 호환되지 않는 버전은 OSError의 원인입니다. 호환되지 않는 Python 및 TensorFlow 버전으로 인해 이 애플리케이션의 작동이 중지되었습니다.

이는 TensorFlow가 빌드된 Python 버전과 다른 버전의 Python이 컴퓨터에 설치된 경우 발생할 수 있습니다. TensorFlow를 다시 설치하고 올바른 Python 설치를 가리키도록 PATH 변수를 업데이트하여 이 문제를 해결할 수 있습니다.

때때로 Windows에서 TensorFlow로 Python 스크립트를 실행하는 데 문제가 있을 수 있습니다. OSError: [WinError 193] %1 is not a valid Win32 application이 표시되는 경우; 이는 TensorFlow가 64비트 애플리케이션이고 Python은 32비트이며 64비트 TensorFlow로 32비트 버전의 Python을 실행하려고 하기 때문에 발생합니다.

이 문제를 해결하려면 32비트 버전의 TensorFlow를 설치해야 합니다.

Python 환경 분쟁

32비트와 64비트의 두 가지 다른 버전의 Python 환경을 사용할 수 있기 때문에 Python 환경을 업데이트하는 것은 약간 번거롭습니다. 그리고 많은 사람들이 Python 환경을 업데이트하지 못합니다.

이 오류로 인해 Python 환경이 오작동하고 컴퓨터가 충돌할 수 있습니다. 컴퓨터에서 Python 환경을 사용하는 경우 가능한 한 빨리 업데이트해야 합니다.

Python 환경을 사용하지 않는 경우 Python 환경의 이점에 대한 문서를 확인해야 합니다.

깨끗한 Python 환경은 Python 스크립트를 실행하는 가장 좋은 방법입니다. Python 스크립트를 실행하는 동안 Windows 오류 OSError: [WinError 193] %1 is not a valid Win32 application가 발생하는 경우 Python 설치에 문제가 있을 가능성이 큽니다.

따라서 깨끗한 Python 환경이 있는지 확인해야 합니다.

Python을 설치하면 데스크톱의 폴더와 시작 메뉴에 바로 가기가 추가됩니다. 타사 Python 모듈을 설치할 수 있는 pip도 설치합니다.

그러나 Python은 설치한 모든 모듈의 기록을 유지합니다. 이렇게 하면 Python을 업데이트하기 전에 해당 모듈을 제거해야 하므로 Python 설치를 업데이트하기 어려울 수 있습니다.

따라서 Python 설치 파일이 포함된 폴더를 삭제해야 합니다. 많은 사람들에게 이 폴더는 C:\Python27입니다.

32비트 DLL 파일을 64비트 프로세스로 호출

32비트 DLL 파일을 64비트 프로세스로 호출하고 있습니다. 이 오류는 일반적으로 32비트 및 64비트 버전의 DLL이 있을 때 발생합니다.

예를 들어, 사용하려는 기능이 32비트 DLL과 64비트 DLL에 있습니다. 64비트 DLL은 32비트 DLL의 기능을 재정의합니다.

32비트 DLL을 사용하여 64비트 프로세스를 실행할 때 이 오류를 볼 수 있습니다.

64비트 운영 체제에서 32비트 응용 프로그램을 실행할 때 가장 일반적인 오류 중 하나는 OSError: [WinError 193] %1은 유효한 Win32 응용 프로그램이 아닙니다라는 오류 메시지입니다. 오류 메시지에는 실행하려는 응용 프로그램 대신 %1이 있습니다.

유효한 Win32 응용 프로그램이 아닌 응용 프로그램을 실행하려고 하면 오류가 나타납니다. 애플리케이션이 32비트 애플리케이션인 경우 애플리케이션의 32비트 버전을 설치해야 합니다.

애플리케이션이 64비트 애플리케이션인 경우 애플리케이션의 64비트 버전을 설치해야 합니다.

Semgrep 직접 실행

Windows에서 직접 Semgrep을 실행하려고 하면 매우 짜증날 수 있습니다. OSError가 발생할 수 있습니다.

따라서 Windows에서 semgrep을 직접 실행하는 것을 피해야 합니다.

시작 메뉴로 이동하면 Semgrep.exe 응용 프로그램이 표시되지 않습니다. Semgrep은 일반적인 Windows 애플리케이션이 아니라 콘솔 애플리케이션이기 때문에 존재하지 않습니다.

Windows에서 Semgrep을 직접 사용하려면 cmd 창을 통해 시작해야 합니다. 가장 쉬운 방법은 Windows 키를 누른 상태에서 R 키를 누르는 것입니다.

그러면 실행 프롬프트가 열립니다. 이 시점에서 cmd를 입력하고 Enter를 눌러야 합니다.

이제 명령 프롬프트가 있습니다. 이제 Semgrep이 설치된 디렉토리로 이동하여 semgrep을 입력할 수 있습니다.

오래된 데이터로 인해

마지막 PyCharm 설치의 이전 데이터로 인해 OSError가 발생할 수 있습니다. 따라서 이 오류를 방지하려면 이 해결 방법을 따라야 합니다.

C:\Users\<your_name>\.ipython profile_default\history\ 디렉터리에 이전 PyCharm 설치의 이전 데이터가 있습니다.

이 디렉토리에는 이전 버전의 PyCharm에서 생성한 파일이 포함되어 있으며 이전 파일(예: 이전 버전의 PyCharm에서 생성된 이름을 가진 파일)을 포함할 수 있습니다.

앞으로 이 디렉토리가 생성되지 않도록 하려면 프로필 설정에서 Do not create a .ipython directory 옵션을 선택하십시오. 디렉토리에 이미 존재하는 파일의 기록에는 영향을 미치지 않습니다.

Zeeshan Afridi avatar Zeeshan Afridi avatar

Zeeshan is a detail oriented software engineer that helps companies and individuals make their lives and easier with software solutions.

LinkedIn

관련 문장 - Python Error