导入 numpy c 扩展失败

Ram*_* Ma 34 python numpy miniconda visual-studio-code

导入 numpy c 扩展失败

我在 Windows 系统上安装了python 3.7来处理Visual Studio 代码。一切都很顺利,包括使用图书馆。我使用控制面板中卸载程序工具卸载了 python 。并安装了Miniconda 3。我检查一切正常,然后在Windows 10上的conda install numpy终端GitBash 中安装了 numpy 库,然后在我的visial studio 代码上检查它,但它无法启动。

重现代码示例:

import numpy as np
A = np.array([[-1], [7], [-26]])
Run Code Online (Sandbox Code Playgroud)

错误信息:

回溯(最近一次调用):文件“C:\Users\ramim\Miniconda3\lib\site-packages\numpy\core__init__.py”,第 17 行,来自 . 导入多阵列文件“C:\Users\ramim\Miniconda3\lib\site-packages\numpy\core\multiarray.py”,第 14 行,来自 . import overrides File "C:\Users\ramim\Miniconda3\lib\site-packages\numpy\core\overrides.py", line 7, in from numpy.core._multiarray_umath import (ImportError: DLL load failed: ?? ?? ?????????????????????

在处理上述异常的过程中,又发生了一个异常:

回溯(最近一次调用):文件“c:/Users/ramim/Desktop/22/Matrix library/alsf.py”,第 3 行,在 import numpy as np 文件“C:\Users\ramim\Miniconda3\lib\”中site-packages\numpy__init__.py”,第 142 行,来自 . 导入核心文件“C:\Users\ramim\Miniconda3\lib\site-packages\numpy\core__init__.py”,第 47 行,在 raise ImportError(msg) ImportError 中:

重要提示:请阅读本文以获取有关如何解决此问题的建议!

导入 numpy c 扩展失败。- 尝试卸载并重新安装 numpy。- 如果您已经这样做了,那么: 1. 检查您是否希望使用“C:\Users\ramim\Miniconda3\python.exe”中的 Python3.7,并且您的 PATH 或 PYTHONPATH 中没有目录可以干扰您尝试使用的 Python 和 numpy 版本“1.17.3”。2. 如果 (1) 看起来不错,您可以在https://github.com/numpy/numpy/issues 上打开一个新问题 。请包括以下详细信息: - 你如何安装 Python - 你如何安装 numpy - 你的操作系统 - 你是否安装了多个版本的 Python - 如果你是从源代码构建的,你的编译器版本,最好是构建日志

  • 如果您正在使用 numpy git 存储库,请尝试git clean -xdf (删除所有不受版本控制的文件)并重建 numpy。

注意:这个错误有很多可能的原因,所以请不要评论关于这个的现有问题 - 而是打开一个新的。

原始错误是:DLL 加载失败:?? ??????????????? ??????。

Numpy/Python 版本信息:

Python 3.7.5 Numpy 1.17.3

我试图再次卸载并安装 numpy 库,但它没有用。 注意:当我输入 temal 时conda install numpy,它说:

已安装所有请求的软件包

这就是我检查numpy是否真的安装的方式!

如何解决?

nov*_*cem 28

尝试先卸载 numpy 和 setuptools:

  1. pip uninstall -y numpy

  2. pip uninstall -y setuptools

  3. pip install setuptools

  4. pip install numpy

从 mehdiHadji 这里提供的解决方案借用 - https://github.com/ipython/ipyparallel/issues/349

  • 对我不起作用。 (5认同)

小智 22

和我最近的问题类似。我在 Win 10 系统上使用 Miniconda 的 Python 3.8。我通过将默认终端从 PowerShell 更改为命令提示符解决了该问题。

脚步:

  1. 按 Ctrl+Shift+P 或 F1 打开 VS Code 的命令面板菜单
  2. 选择“终端:选择默认配置文件”条目
  3. 然后选择“命令提示符”选项
  4. 重新启动 VS 代码


Ann*_*nne 12

不确定这也是 Visual Studio 中的事情,但是对于 Eclipse,我不得不更改其中一个环境变量。

设置:Windows、Python 3.7、带有 numpy 的 Conda venv

解决方案:

CONDA_DLL_SEARCH_MODIFICATION_ENABLE=1
Run Code Online (Sandbox Code Playgroud)

对于 Eclipse,可以通过 Properties -> Run/Debug Settings -> Edit -> Environment 访问环境变量。

Anaconda 还记录了修复程序,尽管是针对不同的问题: Conda 故障排除

  • 这个解决了我的问题。对于 Windows,在 anaconda 提示符下执行 `setx CONDA_DLL_SEARCH_MODIFICATION_ENABLE 1`。`setx` 用于永久设置环境变量。如果您不想永久更改它,请使用“set CONDA_DLL_SEARCH_MODIFICATION_ENABLE=1”,这仅适用于该会话。 (2认同)

小智 9

此问题是由 VScode 默认终端(powershell)设置引起的,将 VScode 默认终端从 powershell 切换到 cmd,conda env 将被正确激活,其他 powershell 将尝试调用conda activate xxxxxx它会失败,然后后续import numpy将失败。

所以有两种方法可以修复它:

  1. 修复powershell环境下路径搜索问题,conda activate xxxxxx执行成功;

  2. 将 vs 代码默认终端更改为 'cmd':在 settings.json 中添加 "terminal.integrated.shell.windows": "C:\Windows\System32\cmd.exe"


小智 5

我通过pip重新安装NumPy解决了这个问题:

pip install --upgrade --force-reinstall numpy
                 
Run Code Online (Sandbox Code Playgroud)