使用Anaconda Navigator更新一些软件包(numpy,matplotlib等)和Spyder之后;我使用这些软件包的代码不再起作用,并且在导入时出现错误。
我试图将更新撤消到以前的版本安装,没有成功。
我检查过Python produces: OSError: [WinError 193] %1 is not a valid Win32 application;但没有解决方案。
我检查了https://github.com/pytorch/pytorch/issues/27693并看了看在Windows的PATH中使用用户和用户的环境变量系统;但我不知道要寻找什么。 oggyoggy448建议删除并重新安装numpy;尝试了几次,然后重新启动我的电脑但没有成功。
https://python-forum.io/Thread-WinError-193-1-is-not-a-valid-Win32-application建议从命令行运行;您可以在下面找到。
我尝试完全卸载Anaconda,并在上卸载所有python版本我的电脑;重新安装Anaconda和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
经过一晚的夜晚,以下内容对我有用(希望它对遇到相同问题的其他人可能有用:]
在Ipython环境中,键入:
In [1]: import numpy
产生上述错误。所以我做了以下事情:
In [2]: pip uninstall numpy
获取一些代码行,并确认已删除numpy。之后,我尝试了:
In [3]: import numpy
没有错误,一切似乎都正常! (之间没有进行任何安装!)好像之前在升级某些软件包时一样,正在安装双版本的numpy并导致错误日志,如上所示。
完全相同的过程也适用于Matplotlib(卸载而不是重新安装)使其起作用。希望这会有所帮助。