OSError: [WinError 193] %1 は有効な Win32 アプリケーションではありません
-
OSError: [WinError 193] %1 は有効な Win32 アプリケーションではありません
とは -
OSError: [WinError 193] %1 is not a valid Win32 application
が発生する理由 -
OSError: [WinError 193] %1 is not a valid Win32 application
のさまざまな理由と解決策
実行可能 (.exe
) ファイルを実行しようとすると、エラーが発生します。 このエラーは、実行可能ファイルが有効な Win32 アプリケーションでない場合に発生します。
ローカル コンピューターのプロセッサ アーキテクチャと実行可能ファイルのアーキテクチャの不一致が原因である可能性があります。 .exe
ファイルをダブルクリックすると、次のエラー メッセージが表示される場合があります。
Error: oserror: [winerror 193] %1 is not a valid win32 application.
Error loading %
OSError: [WinError 193] %1 は有効な Win32 アプリケーションではありません
とは
Python で開発する際の最大のフラストレーションの 1つは、Python エラーの処理です。 Python コードを記述するときに発生する可能性のあるさまざまなエラーが多数ありますが、対処するのに最も混乱するエラーの 1つは、OSError: [WinError 193] %1 は有効な Win32 アプリケーションではありません
です。
このエラーは、コンピューターに正しくインストールされていない Python スクリプトまたはプログラムを実行しようとすると発生します。
コマンド ラインから Python スクリプトを実行しても、Python に関連付けられたファイルをダブルクリックしても、エラーが発生します。 このエラーは、Python コードにエラーがあることを示す構文エラーやその他のエラーとも異なります。
このエラーは通常、コンピューターの Python 実行可能ファイルまたは .pyd
ファイルへのパスが正しくないことが原因で発生します。
OSError: [WinError 193] %1 is not a valid Win32 application
が発生する理由
ブラウザで新しいウィンドウを開くたびに、開こうとしているアプリケーションが有効な Win32 アプリケーションではないというエラー メッセージが表示されることがあります。 このエラーは Internet Explorer ブラウザーで発生します。つまり、開こうとしているファイルが有効なアプリケーションではないことを意味します。
ファイル拡張子を変更するだけで、任意のファイルを有効な Win32 アプリケーションとしてマークできるため、これは重大なセキュリティ ホールになる可能性があります。 これは、一般的なファイル編集ソフトウェアを使用して行うのは非常に簡単です。
したがって、注意しないと、関係のないファイルを開くことになります。 このエラーが発生する最も一般的な理由の 1つは、アプリケーションではないファイルを開こうとしていることが原因です。
たとえば、拡張子が .html
の HTML ファイルがある場合、それは機能しません。 ブラウザでファイルを開くには、ファイル拡張子を.exe
に変更する必要があります。
別の理由として、ファイルが破損しているか、その他の問題がある可能性があります。 この場合、ソースからファイルを再度ダウンロードして、コンピューターで開いてみてください。
OSError: [WinError 193] %1 is not a valid Win32 application
のさまざまな理由と解決策
以下は、エラーの理由と解決策です。
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 を再インストールし、PATH
変数を更新して正しい Python インストールを指すようにします。
Windows で TensorFlow を使用して Python スクリプトを実行すると、問題が発生することがあります。 OSError: [WinError 193] %1 は有効な Win32 アプリケーションではありません
が表示された場合; これは、TensorFlow が 64 ビット アプリケーションであるのに対し、Python は 32 ビットであり、32 ビット バージョンの Python を 64 ビット TensorFlow で実行しようとしているために発生します。
これを修正するには、TensorFlow の 32 ビット バージョンをインストールする必要があります。
Python 環境の紛争
Python 環境の更新は、32 ビットと 64 ビットの 2つの異なるバージョンの Python 環境が利用できるため、少し面倒です。 また、多くの人が Python 環境の更新に失敗しています。
この障害により、Python 環境が誤動作し、コンピューターがクラッシュする可能性があります。 コンピュータで Python 環境を使用している場合は、できるだけ早く更新する必要があります。
Python 環境を使用していない場合は、Python 環境の利点に関する記事を確認してください。
Python スクリプトを実行するには、クリーンな Python 環境が最適です。 Python スクリプトの実行中に Windows エラー OSError: [WinError 193] %1 は有効な Win32 アプリケーションではありません
が発生する場合は、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 ビット アプリケーションを実行する際に発生する最も一般的なエラーの 1つは、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
を引き起こす可能性があります。 したがって、このエラーを回避するには、この解決策に従う必要があります。
次のディレクトリに PyCharm の以前のインストールからの古いデータがあります: C:\Users\<your_name>\.ipython profile_default\history\
。
このディレクトリには、以前のバージョンの PyCharm が作成したファイルが含まれており、古いファイル (たとえば、以前のバージョンの PyCharm によって生成された名前のファイル) を含めることができます。
今後このディレクトリが作成されないようにするには、プロファイル設定で.ipython ディレクトリを作成しない
オプションを選択します。 これは、ディレクトリに既に存在するファイルの履歴には影響しないことに注意してください。
Zeeshan is a detail oriented software engineer that helps companies and individuals make their lives and easier with software solutions.
LinkedIn関連記事 - Python Error
- AttributeError の解決: 'list' オブジェクト属性 'append' は読み取り専用です
- AttributeError の解決: Python で 'Nonetype' オブジェクトに属性 'Group' がありません
- AttributeError: 'generator' オブジェクトに Python の 'next' 属性がありません
- AttributeError: 'numpy.ndarray' オブジェクトに Python の 'Append' 属性がありません
- AttributeError: Int オブジェクトに属性がありません
- AttributeError: Python で 'Dict' オブジェクトに属性 'Append' がありません