Python error: OSError: [WinError 193] %1 is not a valid Win32 application
After a couple of nights, the following worked for me (hopefully it may be useful to others having the same problem):
In an Ipython environment, typing:
In [1]: import numpy
gave the error as shown above. So I did the following:
In [2]: pip uninstall numpy
getting some lines of code and confirming that numpy is being removed. After that I tried:
In [3]: import numpy
No errors and everything seems to work! (Did not do any install in between!) As if during upgrading some packages before, a double version of numpy was being installed and causing the error log as shown above.
Exactly the same procedure worked for Matplotlib as well (uninstall and not reinstalling) made it work.
Related videos on Youtube
wilmert
Updated on June 04, 2022Comments
-
wilmert almost 2 years
After using Anaconda Navigator to update some packages (numpy, matplotlib, ...) and Spyder; my code using these packages no longer works and gives error on import.
I tried to reverse the update to a previous version installation, without success.
I checked Python produces: OSError: [WinError 193] %1 is not a valid Win32 application; but no solution.
I checked https://github.com/pytorch/pytorch/issues/27693 and looked in the PATH on Windows using Environment Variables for User and System; but I don't know what to look for. oggyoggy448 suggested to remove and reinstall numpy; tried it a few times and restarting my PC but no success.
https://python-forum.io/Thread-WinError-193-1-is-not-a-valid-Win32-application suggested running from the command line; which you can find below.
https://superuser.com/questions/1485333/getting-oserror-winerror-193-1-is-not-a-valid-win32-application-while-trying is showing a similar error.
I tried uninstalling Anaconda completely and all python versions on my PC; after reinstalling Anaconda and Spyder; the same problem remains.
Looking forward to a better understanding and the resolving suggestion ...
While using the IPython console and just typing below:
In [1]: import numpy
This gives the following output:
--------------------------------------------------------------------------- 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