1. ホーム
  2. python

[解決済み】Pythonのエラーです。OSError。[WinError 193] %1 は有効な Win32 アプリケーションではありません。

2022-01-25 14:02:21

質問

Anaconda Navigatorを使用していくつかのパッケージ(numpy、matplotlib、...)とSpyderを更新した後、これらのパッケージを使用する私のコードはもはや動作せず、インポート時にエラーが表示されます。

より良い理解と解決提案を期待しています.

IPythonのコンソールを使いながら、以下のように入力したところ。

In [1]: import numpy

これは次のような出力になります。

---------------------------------------------------------------------------
OSError                                   Traceback (most recent call last)
<ipython-input-5-d4cdadb62aa7> in <module>
----> 1 import numpy

~\AppData\Roaming\Python\Python37\site-packages\numpy\__init__.py in <module>
    138
    139     # Allow distributors to run custom init code
--> 140     from . import _distributor_init
    141
    142     from . import core

~\AppData\Roaming\Python\Python37\site-packages\numpy\_distributor_init.py in <module>
     24                 # NOTE: would it change behavior to load ALL
     25                 # DLLs at this path vs. the name restriction?
---> 26                 WinDLL(os.path.abspath(filename))
     27                 DLL_filenames.append(filename)
     28     if len(DLL_filenames) > 1:

E:\Programs\Anaconda\lib\ctypes\__init__.py in __init__(self, name, mode, handle, use_errno, use_last_error)
    362
    363         if handle is None:
--> 364             self._handle = _dlopen(self._name, mode)
    365         else:
    366             self._handle = handle

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

解決方法は?

2晩ほどかけて、以下の方法でうまくいきました(同じ問題で困っている人の役に立てれば幸いです)。

Ipythonの環境で、タイピング。

In [1]: import numpy

は、上記のようなエラーを出しました。 そこで、次のようにしてみました。

In [2]: pip uninstall numpy

を何行か取得し、numpyが削除されていることを確認しました。 その後、私は試してみました。

In [3]: import numpy

エラーもなく、すべてうまくいっているようです (この間、インストールはしていません!) 以前、いくつかのパッケージをアップグレードした際に、numpyのバージョンが2つインストールされたようで、上記のようなエラーログが表示されました。

Matplotlibも全く同じ手順で動作しました(アンインストールと再インストールはしない)ので、動作しました。