Python OSError:[WinError 193]%1不是有效的Win32应用程序-尝试导入numpy时

Python OSError:[WinError 193]%1不是有效的Win32应用程序-尝试导入numpy时,python,numpy,eoserror,Python,Numpy,Eoserror,我可以安装numpy或pandas,但我不能在cmd、jupyter笔记本或sublime文本中导入它们。(但是,我可以在Pycharm中安装和导入它们) 我已经搜索了不同的论坛/stackoverflow,寻找答案,但最常见的原因,如架构不匹配(我使用Python 32位)或路径中的空格似乎不是这里的问题。 我已经尝试重新安装Python,但没有解决问题 错误总是在“ctypes”库中指出,这似乎是numpy模块的问题。当我尝试导入pandas/matplotlib时,导入numpy失败 &g

我可以安装numpy或pandas,但我不能在cmd、jupyter笔记本或sublime文本中导入它们。(但是,我可以在Pycharm中安装和导入它们)

我已经搜索了不同的论坛/stackoverflow,寻找答案,但最常见的原因,如架构不匹配(我使用Python 32位)或路径中的空格似乎不是这里的问题。 我已经尝试重新安装Python,但没有解决问题

错误总是在“ctypes”库中指出,这似乎是numpy模块的问题。当我尝试导入pandas/matplotlib时,导入numpy失败

>>> import numpy
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "C:\Users\jadwi\AppData\Roaming\Python\Python37\site-packages\numpy\__init__.py", line 142, in <module>
    from . import core
  File "C:\Users\jadwi\AppData\Roaming\Python\Python37\site-packages\numpy\core\__init__.py", line 23, in <module>
    WinDLL(os.path.abspath(filename))
  File "C:\Users\jadwi\AppData\Local\Programs\Python\Python37-32\lib\ctypes\__init__.py", line 356, in __init__
    self._handle = _dlopen(self._name, mode)
OSError: [WinError 193] %1 is not a valid Win32 application

>>> help('numpy')
problem in numpy - OSError: [WinError 193] %1 is not a valid Win32 application 

>>> import pandas
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "C:\Users\jadwi\AppData\Local\Programs\Python\Python37-32\lib\site-packages\pandas\__init__.py", line 13, in <module>
    __import__(dependency)
  File "C:\Users\jadwi\AppData\Roaming\Python\Python37\site-packages\numpy\__init__.py", line 142, in <module>
    from . import core
  File "C:\Users\jadwi\AppData\Roaming\Python\Python37\site-packages\numpy\core\__init__.py", line 23, in <module>
    WinDLL(os.path.abspath(filename))
  File "C:\Users\jadwi\AppData\Local\Programs\Python\Python37-32\lib\ctypes\__init__.py", line 356, in __init__
    self._handle = _dlopen(self._name, mode)
OSError: [WinError 193] %1 is not a valid Win32 application
导入numpy 回溯(最近一次呼叫最后一次): 文件“”,第1行,在 文件“C:\Users\jadwi\AppData\Roaming\Python37\site packages\numpy\\uuuuu init\uuuuu.py”,第142行,在 从…起导入核心 文件“C:\Users\jadwi\AppData\Roaming\Python37\site packages\numpy\core\\uuuuuu init\uuuuuu.py”,第23行,在 windl(os.path.abspath(文件名)) 文件“C:\Users\jadwi\AppData\Local\Programs\Python\Python37-32\lib\ctypes\\ uuuuu init\ uuuuu.py”,第356行,在\ uu init中__ self.\u handle=\u dlopen(self.\u名称,模式) OSError:[WinError 193]%1不是有效的Win32应用程序 >>>帮助(“numpy”) numpy中的问题-OSError:[WinError 193]%1不是有效的Win32应用程序 >>>进口大熊猫 回溯(最近一次呼叫最后一次): 文件“”,第1行,在 文件“C:\Users\jadwi\AppData\Local\Programs\Python\Python37-32\lib\site packages\pandas\\uuuuuu init\uuuuu.py”,第13行,在 __导入(依赖项) 文件“C:\Users\jadwi\AppData\Roaming\Python37\site packages\numpy\\uuuuu init\uuuuu.py”,第142行,在 从…起导入核心 文件“C:\Users\jadwi\AppData\Roaming\Python37\site packages\numpy\core\\uuuuuu init\uuuuuu.py”,第23行,在 windl(os.path.abspath(文件名)) 文件“C:\Users\jadwi\AppData\Local\Programs\Python\Python37-32\lib\ctypes\\ uuuuu init\ uuuuu.py”,第356行,在\ uu init中__ self.\u handle=\u dlopen(self.\u名称,模式) OSError:[WinError 193]%1不是有效的Win32应用程序
我知道人们以前有过这个错误,但是,正如我所提到的,这似乎不是架构不匹配的问题,路径中没有空间,我真的被它卡住了。对于如何解决这一问题的任何建议,我们都将不胜感激。

好的,这最终帮助了我:

  • 我只卸载了一个带有“pip uninstall numpy”的numpy模块

  • 我用“pip install numpy”重新安装了它

  • 我运行python,只从numpy导入了一个函数(因为我认为可能只是一些函数不能导入,而不是整个函数) numpy)-“从numpy导入数组”

  • 这个函数起作用了,所以我再次尝试导入整个numpy,这次成功了,没有出现OSError


  • 重新安装numpy对我不起作用

    我也有同样的问题,并注意到错误消息中有多条指向numpy的路径。例如

    C:\Users\USERNAME\AppData\Roaming\Python\Python37\*
    C:\Users\USERNAME\AppData\Local\Programs\Python\Python37-32\*
    

    我删除了
    C:\Users\USERNAME\AppData\Roaming\Python\Python37\*
    文件夹,因为这是我以前卸载的Python留下的。我不建议删除任何内容,除非您确定不会破坏其他内容,因此,如果它不能为您解决问题,可能会将其发送到回收站并还原。

    您可以尝试此操作,我在更新包后解决了我的问题

    pip install --upgrade numpy
    
    如果没有任何变化,您可以先升级pip,而不是升级numpy

    python -m pip install --upgrade pip 
    
    (如果要更新所有包,请参阅此页:)


    或者检查python版本是否适合您的环境。请确保在重新安装新版本后完全删除旧版本。

    我正在使用PyCharm,决心学习PipEnv虚拟化工具(它对下载的软件包使用SHA256哈希),并且遇到了相同的错误消息(错误193,%1不是有效的win32或其他)。我意识到这不完全是您的场景,但是,您使用的是python和PyCharm,因此我认为它可能也可能会帮助其他来到这里的人。无论如何

    我的解决方法是: 1.)在“添加Python解释器”窗口中(首先设置虚拟化解释器),我必须将“C:\Users\ericm\AppData\Roaming\Python\Python38\Scripts\pipenv.exe”作为我的“pipenv可执行文件”。 (执行此操作后,我在尝试使用它时开始出现权限错误) 2.)我必须将我的项目路径添加到“工作目录”(e.x.C:\Users\ericm\OneDrive\Documents\Programming\Python\NameOfProject)


    没有任何类型的错误,我的应用程序再次完全正常工作。

    90%确定或更好:这是一个架构不匹配的问题。你可能是对的。在我看到的关于这个问题的大多数帖子中,很明显有人使用了例如Python 64位,并试图使用32位的模块。在我的情况下,我无法检测出问题出在哪里m、 我有两台笔记本电脑,它们都运行在64位Win 10上,它们都使用完全相同的Python版本,但是,在一台numpy上工作没有问题,而在另一台上,我得到了这个错误。你错误地认为,由于平台的原因,你的Python安装自动都是64位的,因此完全相同。但是32位Python将在64位系统上运行。然后安装中的扩展也必须是32位的。实际上,情况并非如此。我知道我可以在笔记本电脑上同时运行Python 32位和64位,而且我实际上在这两个系统上都安装了32位,而不是64位。我从来没有说过你不能。我说过如果你运行32位Python,那么Python必须具有e 32位
    numpy
    已安装。如果运行64位Python,则该Python必须安装64位
    numpy
    。(这同样适用于任何CPython扩展
    .pyd
    )您不能仅通过复制文件来获取快捷方式。原因是32位Windows进程无法加载64位DLL,而64位Windows进程也不会加载32位DLL。