3

我可以安装 numpy 或 pandas,但无法在 cmd、jupyter notebook 或 sublime text 中导入它们。(但是,我可以在 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

我知道人们以前遇到过这个错误,但是,正如我所提到的,这似乎不是架构不匹配的问题,路径中没有空格,我真的很坚持。任何有关如何解决它的建议将不胜感激。

4

4 回答 4

5

好的,所以这最终帮助了我:

  1. 我只用“pip uninstall numpy”卸载了一个 numpy 模块,

  2. 我再次使用“pip install numpy”重新安装了它,

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

  4. 该功能有效,所以我尝试再次导入整个numpy,这次它成功了,没有OSError。

于 2019-06-23T14:21:21.293 回答
2

你可以试试这个,我在更新包后解决了我的问题。

pip install --upgrade numpy

如果没有任何改变,您可以先升级 pip,而不是升级 numpy.

python -m pip install --upgrade pip 

(如果要更新所有包,请参考此页面:<a href="https://stackoverflow.com/questions/2720014/how-to-upgrade-all-python-packages-with-pip">如何用 pip 升级所有 Python 包?)

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

于 2020-09-27T09:40:08.960 回答
0

我正在使用 PyCharm,决心学习 PipEnv 虚拟化工具(它对下载的包使用 SHA256 散列),并且遇到了同样的错误消息(错误 193,%1 不是有效的 win32 或其他)。我意识到这不完全是您的情况,但是您正在使用 python 和 PyCharm,所以我认为它可能并且可能会帮助到达这里的其他人。无论如何...

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

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

于 2020-10-12T01:28:28.377 回答
0

重新安装 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 留下的。在您确定不会破坏其他东西之前,我不建议您删除任何东西,所以如果它不能为您解决问题,可以将其发送到回收站并恢复。

于 2020-09-23T07:35:16.323 回答