安装numpy for Windows 10:导入多阵列numpy扩展模块失败

Mar*_*ler 14 python arrays numpy python-import python-2.7

我是新手,Python并且尝试安装失败numpy.当前问题是部分错误消息读取Importing the multiarray numpy extension module failed.我无法在互联网上找到此错误消息,我正在寻求帮助.完整的错误消息位于此帖的底部.

首先,我认为我应该提供系统和版本的详细信息并描述我所做的事情.我Windows 10在64位计算机上运行,并Python 2.7.13https://www.python.org/downloads/windows/安装

我也安装了Anaconda,也Python 2.7和一个64位的机器,从这里下载https://www.continuum.io/downloads. AnacondaPython 2.7.12,而不是Python 2.7.13.当我import numpyAnacondaGUI 内部输入时,IPython不会出现错误或警告.尽管如此,我numpy从内部Python 2.7.13使用的印象IDLE (Python GUI)可能在计算上更快. Python 2.7.13首先出现在我的Path语句中.

numpy-1.12.0rc2+mkl-cp27-cp27m-win_amd64.whlhttp://www.lfd.uci.edu/~gohlke/pythonlibs/#jpype下载了 以下建议从这篇文章中安装numpy来自windows格式的轮式(这个平台上不支持的轮子.)我重命名:

numpy-1.12.0rc2+mkl-cp27-cp27m-win_amd64.whl 至: numpy-1.12.0rc2+mkl-cp27-none-win32.whl

通过单击名称并编辑它来手动完成.重命名的文件位于文件夹中C:\Python27

然后我使用Windows命令窗口(cmd)更新pip输入:

python -m pip install --upgrade pip
Run Code Online (Sandbox Code Playgroud)

一条消息说pip已经是最新的.

然后我在cmd窗口中输入以下内容:

pip install numpy-1.12.0rc2+mkl-cp27-none-win32.whl
Run Code Online (Sandbox Code Playgroud)

一条消息说:Successfully installed numpy-1.12.0rc2+mkl.(在此之前,我尝试.whl使用其原始名称安装该文件,并收到该文件不适用于我的平台的错误.)

安装numpyPython 2.7.13我打开Python并输入:

import numpy
Run Code Online (Sandbox Code Playgroud)

以下是返回的完整错误消息:

Traceback (most recent call last):
  File "<pyshell#0>", line 1, in <module>
    import numpy
  File "C:\Python27\lib\site-packages\numpy\__init__.py", line 142, in <module>
    from . import add_newdocs
  File "C:\Python27\lib\site-packages\numpy\add_newdocs.py", line 13, in <module>
    from numpy.lib import add_newdoc
  File "C:\Python27\lib\site-packages\numpy\lib\__init__.py", line 8, in <module>
    from .type_check import *
  File "C:\Python27\lib\site-packages\numpy\lib\type_check.py", line 11, in <module>
    import numpy.core.numeric as _nx
  File "C:\Python27\lib\site-packages\numpy\core\__init__.py", line 24, in <module>
    raise ImportError(msg)
ImportError: 
Importing the multiarray numpy extension module failed.  Most
likely you are trying to import a failed build of numpy.
If you're working with a numpy git repo, try `git clean -xdf` (removes all
files not under version control).  Otherwise reinstall numpy.
Run Code Online (Sandbox Code Playgroud)

numpy现在出现了许多文件夹和文件C:\Python27

我还尝试了以下两个命令并收到了显示的消息:

>>> pip show numpy
SyntaxError: invalid syntax
>>> git clean -xdf
SyntaxError: invalid syntax
>>> 
Run Code Online (Sandbox Code Playgroud)

很抱歉这篇文章很长,但我不知道上述哪些细节可能对诊断问题最有帮助.我只使用Python约24小时,大部分时间已经花了试图安装numpyPython 2.7.13.我主要使用R并了解一些C.我没有尝试安装任何其他Python库或包.也许我错过了所需的依赖关系numpy.感谢您对此问题的任何建议或帮助.如果我能提供更多信息,请告诉我.对不起,如果这是重复的.

Sam*_*yay 7

就我而言,此问题与numpy有关。因此,我删除了numpy并再次安装了它。要删除numpy(如果您已经拥有conda环境),可以通过以下方法来完成:conda remove numpy如果此命令还删除了一些其他依赖于numpy的软件包,那么在同一环境中(如果安装了pip),可以使用pip删除numpy并使用pip uninstall numpy再次下载pip install numpy。这可能应该修复您的错误。


Col*_*lms 5

这个问题在https://github.com/numpy/numpy/issues/9272上得到了广泛讨论,并提供了一个对我有用的解决方案。我相信它与 Anaconda 环境相关。

引用:tobigithub 于 2017 年 7 月 23 日发表评论。@njsmith 谢谢,我刚刚确认在干净的 Windows 10 系统上使用虚拟机,该系统从未见过 Intel MKL DLL、numpy 或 conda,一切都很好,numpy 工作正常。我只是很困惑 numpy 怎么突然停止工作了,可能是第三方。可能需要更多的挖掘,让我们看看我们能找到什么来让 numpy 铁定解决任何依赖问题。

该解决方案确实与 WIN 下使用 Intel MKL 库的一些 DLL 依赖性问题有关,numpy 导入错误出现在 python 3.6.2 和 numpy 1.13.1 下:

“import numpy”numpy\core_init_.py”,第 16 行,来自 .import multiarray ImportError:DLL 加载失败:找不到指定的过程。

快速但肮脏的解决方案是从特定环境 (env) 子文件夹中复制所有 Intel mkl*.dll 库(参见 stackoverflow)

<\Library\bin> 到 <\Lib\site-packages\numpy\core>

04/13/2017  12:50 AM        30,277,392 mkl_avx.dll
04/13/2017  12:50 AM        38,253,840 mkl_avx2.dll
04/13/2017  12:50 AM        42,234,640 mkl_avx512.dll
04/13/2017  12:50 AM        45,722,896 mkl_avx512_mic.dll
04/13/2017  12:50 AM        25,369,360 mkl_core.dll
04/13/2017  12:50 AM        24,541,456 mkl_def.dll
04/13/2017  12:50 AM        24,506,640 mkl_intel_thread.dll
04/13/2017  12:50 AM        29,744,400 mkl_mc.dll
04/13/2017  12:50 AM        30,594,320 mkl_mc3.dll
04/13/2017  12:50 AM        12,567,824 mkl_rt.dll
04/13/2017  12:50 AM        11,388,688 mkl_sequential.dll
04/13/2017  12:50 AM        12,575,504 mkl_tbb_thread.dll
04/13/2017  12:50 AM        11,250,960 mkl_vml_avx.dll
04/13/2017  12:50 AM        11,463,952 mkl_vml_avx2.dll
04/13/2017  12:50 AM        10,285,840 mkl_vml_avx512.dll
04/13/2017  12:50 AM        11,692,304 mkl_vml_avx512_mic.dll
04/13/2017  12:50 AM         5,224,208 mkl_vml_cmpt.dll
04/13/2017  12:50 AM         5,345,552 mkl_vml_def.dll
04/13/2017  12:50 AM         9,477,904 mkl_vml_mc.dll
04/13/2017  12:50 AM         9,368,336 mkl_vml_mc2.dll
04/13/2017  12:50 AM         9,593,616 mkl_vml_mc3.dll
Run Code Online (Sandbox Code Playgroud)

现在 numpy 可以导入并且运行良好。最后一件事,最好的方法是匹配 Python 和 numpy 的兼容版本,当然,随着版本的发布,这些版本会发生变化。请参阅 [numpy 兼容性索引] ( https://numpy.org/neps/nep-0029-deprecation_policy.html ) 了解最新的兼容性信息。不要忘记将 scipy 和 matplotlib 版本也与 numpy 匹配。


Mar*_*ler 3

我似乎已经使用以下步骤在 64 位计算机上numpy安装了。我能够安装32 位或 64 位版本的. 提供了两者的说明。Python 2.7.13Windows 10numpyPython 2.7.13

这个答案的顶部是我对 32 位 的说明Python
中间是我对 64 位的说明Python。底部是我Python使用 Wheel 文件的 64 位说明。

我怀疑我原来的帖子中的主要问题可能是由于没有意识到从这里( https://www.python.org/downloads/Python )下载的默认版本显然是32位的。

numpy用于在 32 位上安装Python 2.7.13

  1. 已卸载Anaconda

  2. Anaconda从窗口User Variables中删除Environment Variables

  3. Python 2.7.13从Python官方网站安装:https: //www.python.org/

  4. 在命令窗口中输入:

    C:\users\general1>cd:\python27

  5. pip尝试在命令窗口中更新,尽管pip已经是最新的:

    python -m pip install -U pip

  6. 在命令窗口中使用以下命令,该命令返回大量错误:

    pip安装numpy

  7. 在命令窗口中输入:

    python -m pip 安装 numpy

第 7 步似乎有效。它返回了以下消息:

C:\Python27>python -m pip install numpy
Collecting numpy
  Retrying (Retry(total=4, connect=None, read=None, redirect=None)) 
  after connection broken by 'ProtocolError('Connection aborted.',
  error(10054, 'An existing connection was forcibly 
  closed by the remote host'))': /simple/numpy/
  Downloading numpy-1.12.0-cp27-none-win32.whl (6.6MB)
    100% |################################| 6.6MB 64kB/s
Installing collected packages: numpy
Successfully installed numpy-1.12.0
Run Code Online (Sandbox Code Playgroud)
  1. 打开Python 2.7.13并输入:

    导入numpy

仅返回命令提示符。没有发出任何错误或警告。

我还没有尝试使用任何需要的代码numpy,但至少它似乎已经安装了。

步骤 7 表示下载了 32 位文件:

numpy-1.12.0-cp27-none-win32.whl
Run Code Online (Sandbox Code Playgroud)

我不知道安装的是32位版本numpy还是64位版本。也许该文件是 64 位版本,已重命名为 32 位版本,如我的问题中所述。

我输入Python(来自我有 Numpy 32 位还是 64 位?):

import numpy.distutils.system_info as sysinfo
sysinfo.platform_bits
32
Run Code Online (Sandbox Code Playgroud)

numpy因此,似乎安装了32 位版本,尽管我的Python应该是 64 位版本(来自此处:How do I certain if my python shell is running in 32bit or 64bit mode on OS X?):

import platform
platform.architecture()[0]
'32bit'
Run Code Online (Sandbox Code Playgroud)

Python也许在我上次的所有安装和卸载中不小心安装了32位版本。我可以再次尝试安装Python并使用预期的 64 位版本。希望上面的相同步骤仍然有效。

也许如果我想要 64 位版本,Python 2.7.13我可以在官方网页上单击以下内容Python(此处:https: //www.python.org/downloads/windows/):

Download Windows x86-64 MSI installer
Run Code Online (Sandbox Code Playgroud)

而不是在突出的(https://www.python.org/downloads/)上:

Download Python 2.7.13
Run Code Online (Sandbox Code Playgroud)

我也很好奇这个文件numpy-1.12.0-cp27-none-win32.whl是从哪里下载的。如果我发现的话我也会提供。也许是从这里下载的: https: //pypi.python.org/pypi/numpy

numpy用于在 64 位上安装Python 2.7.13

上述步骤适用于安装numpy32 位版本的Python 2.7.13.

要安装 64 位版本的 numpy,Python 2.7.13我使用了以下步骤:

  1. 卸载Python 2.7.13

  2. 下载:python-2.7.13.amd64.msi通过点击:Download Windows x86-64 MSI installer从这里:https: //www.python.org/downloads/windows/

  3. 在命令窗口中输入:

    C:\users\general1>cd:\python27

  4. pip尝试在命令窗口中更新,尽管pip已经是最新的:

    python -m pip install -U pip

  5. 在命令窗口中使用以下命令,这次没有返回任何错误:

    pip安装numpy

返回:

C:\Python27>pip install numpy
Collecting numpy
  Downloading numpy-1.12.0-cp27-none-win_amd64.whl (7.5MB)
    100% |################################| 7.5MB 63kB/s
Installing collected packages: numpy
Successfully installed numpy-1.12.0
Run Code Online (Sandbox Code Playgroud)
  1. 打开Python 2.7.13并输入:

    导入numpy

没有返回任何错误或警告。

  1. 检查是numpy64 位还是 32 位。它是 64 位的。

    导入 numpy.distutils.system_info 作为 sysinfo

    sysinfo.platform_bits

    64

用于安装numpywheel文件Python 2.7.13

安装后,numpy我尝试安装scipy并收到错误:(numpy.distutils.system_info.NotFoundError: no lapack/blas resources found此处描述Windows Scipy Install: No Lapack/Blas Resources Found)。

我做了以下事情:

  1. 已卸载Python 2.7.13

  2. Visual Studio Community 2017 RC按照drewid的描述进行安装(此处: Windows Scipy Install: No Lapack/Blas Resources Found

  3. VCForPython27.msi也按照drewid 的描述安装。

然后我收到了此处提到的scipy错误( ImportError: Cannot import name NUMPY_MKL)。cannot import name NUMPY_MKL

我按照 VMAtm 的建议numpy-1.12.0+mkl-cp27-cp27m-win_amd64.whlscipy-0.18.1-cp27-cp27m-win_amd64.whl这里下载了文件:http: //www.lfd.uci.edu/~gohlke/pythonlibs/#numpy 。

然后我:

  1. 卸载Python 2.7.13

  2. Python 2.7.13使用重新安装python-2.7.13.amd64.msi

  3. 使用命令窗口中的以下行numpy-1.12.0+mkl-cp27-cp27m-win_amd64.whlhttp://www.lfd.uci.edu/~gohlke/pythonlibs/#numpy安装:

    pip 安装 numpy-1.12.0+mkl-cp27-cp27m-win_amd64.whl

  4. 使用命令窗口中的以下行scipy-0.18.1-cp27-cp27m-win_amd64.whlhttp://www.lfd.uci.edu/~gohlke/pythonlibs/#numpy安装

    pip 安装 scipy-0.18.1-cp27-cp27m-win_amd64.whl

两者numpy现在scipy都可以导入到内部Python 2.7.13

请注意,在使用上述命令之前,我将scipy-0.18.1-cp27-cp27m-win_amd64.whl和放入numpy-1.12.0+mkl-cp27-cp27m-win_amd64.whl了文件夹中。c:\Python27pip

C:\>cd\Python27

C:\Python27>pip install numpy-1.12.0+mkl-cp27-cp27m-win_amd64.whl
Processing c:\python27\numpy-1.12.0+mkl-cp27-cp27m-win_amd64.whl
Installing collected packages: numpy
Successfully installed numpy-1.12.0+mkl

C:\Python27>pip install scipy-0.18.1-cp27-cp27m-win_amd64.whl
Processing c:\python27\scipy-0.18.1-cp27-cp27m-win_amd64.whl
Installing collected packages: scipy
Successfully installed scipy-0.18.1

C:\Python27>
Run Code Online (Sandbox Code Playgroud)


归档时间:

查看次数:

20930 次

最近记录:

6 年,4 月 前