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

时间:2017-01-15 18:32:52

标签: python arrays python-2.7 numpy python-import

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

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

我还安装了Anaconda,也用于Python 2.7和64位计算机,从此处https://www.continuum.io/downloads下载。 Anaconda运行Python 2.7.12,而不是Python 2.7.13。当我在import numpy GUI Anaconda中输入IPython时,不会出现任何错误或警告。尽管如此,我使用numpyPython 2.7.13内部运行IDLE (Python GUI)的印象可能在计算上更快。 Python 2.7.13首先出现在我的路径声明中。

我从http://www.lfd.uci.edu/~gohlke/pythonlibs/#jpype下载了numpy-1.12.0rc2+mkl-cp27-cp27m-win_amd64.whl。根据此帖installing numpy from wheel format on windows ( not a supported wheel on this platform.)提出的建议我改名为:

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

单击名称并进行编辑,手动

。重命名的文件位于文件夹C:\Python27

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

python -m pip install --upgrade pip

一条消息称pip已经是最新的。

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

pip install numpy-1.12.0rc2+mkl-cp27-none-win32.whl

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

numpy中安装Python 2.7.13后,我打开Python并输入:

import numpy

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

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.

许多numpy文件夹和文件现在显示在C:\Python27

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

>>> pip show numpy
SyntaxError: invalid syntax
>>> git clean -xdf
SyntaxError: invalid syntax
>>> 

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

4 个答案:

答案 0 :(得分:5)

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

答案 1 :(得分:3)

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

引用: tobigithub于2017年7月23日发表评论。 @njsmith 谢谢,我刚刚确认在一个从未见过英特尔MKL DLL,numpy或conda的干净的Windows 10系统上使用虚拟机,所有的东西都很好,并且很好用。我很困惑,numpy突然停止工作,可能是第三方。可能需要更多挖掘,让我们看看我们可以找到什么来使任何依赖性问题变得难看。

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

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

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

&LT; \库\ BIN&GT;至 &LT; \ LIB \站点包\ numpy的\核心&GT;

PCollection<String> windowedValues = validMessageStream.apply(Window
            .<String>configure()
            .triggering(Repeatedly.forever(AfterFirst.of(
                    AfterPane.elementCountAtLeast(2000),
                    AfterProcessingTime.pastFirstElementInPane().plusDelayOf(
                            Duration.standardSeconds(windowDurationSeconds)))))
            .discardingFiredPanes());

windowedValues.apply(FileIO.<String, String>writeDynamic()
            .by(Event::getKey)
            .via(TextIO.sink())
            .to("gs://data_pipeline_events_test/events/")
            .withDestinationCoder(StringUtf8Coder.of())
            .withNumShards(1)
            .withNaming(key -> FileIO.Write.defaultNaming(key, ".json")));

现在可以导入numpy并运行正常。

答案 2 :(得分:2)

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

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

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

在32位numpy上安装Python 2.7.13

  1. 已卸载Anaconda

  2. 已从Anaconda窗口中的User Variables移除Environment Variables

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

  4. 在命令窗口中输入
  5. C:\用户\ general1&GT; CD:\ python27

  6. 尽管pip已经是最新的,但仍尝试在命令窗口更新pip

    python -m pip install -U pip

  7. 命令窗口中的
  8. 使用了以下命令,该命令返回了大量错误:

    pip install numpy

  9. 在命令窗口中输入
  10. python -m pip install numpy

  11. 第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
    
    1. 已打开Python 2.7.13并输入:

      import numpy

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

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

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

      numpy-1.12.0-cp27-none-win32.whl
      

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

      我输入Python(来自Do I have Numpy 32 bit or 64 bit?):

      import numpy.distutils.system_info as sysinfo
      sysinfo.platform_bits
      32
      

      所以,似乎安装了32位版本的numpy,尽管我的Python应该是64位版本(从这里开始:How do I determine if my python shell is executing in 32bit or 64bit mode on OS X?):

      import platform
      platform.architecture()[0]
      '32bit'
      

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

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

      Download Windows x86-64 MSI installer
      

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

      Download Python 2.7.13
      

      我也很想知道文件numpy-1.12.0-cp27-none-win32.whl的下载位置。如果我发现,我也会提供。也许它是从这里下载的:https://pypi.python.org/pypi/numpy

      在64位numpy上安装Python 2.7.13

      上述步骤适用于安装numpy,因为它是32位版本的Python 2.7.13

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

      1. 卸载Python 2.7.13

      2. 从此处点击:python-2.7.13.amd64.msi下载Download Windows x86-64 MSI installerhttps://www.python.org/downloads/windows/

      3. 在命令窗口中输入
      4. C:\用户\ general1&GT; CD:\ python27

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

        python -m pip install -U pip

      6. 命令窗口中的
      7. 使用了以下命令,这次没有返回任何错误:

        pip install numpy

      8. 返回:

        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
        
        1. 已打开Python 2.7.13并输入:

          import numpy

        2. 未返回任何错误或警告。

          1. 检查numpy是64位还是32位。它是64位。

            将numpy.distutils.system_info导入为sysinfo

            sysinfo.platform_bits

            64

          2. numpy

            中安装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. 按照drewid所述安装Visual Studio Community 2017 RC(此处:Windows Scipy Install: No Lapack/Blas Resources Found

            3. 也按照drewid的说明安装了VCForPython27.msi

            4. 然后我收到了此处提到的scipy错误cannot import name NUMPY_MKLImportError: cannot import name NUMPY_MKL)。

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

              然后我:

              1. 卸载Python 2.7.13

              2. 使用Python 2.7.13

              3. 重新安装python-2.7.13.amd64.msi
              4. 使用命令窗口中的以下行从http://www.lfd.uci.edu/~gohlke/pythonlibs/#numpy安装numpy-1.12.0+mkl-cp27-cp27m-win_amd64.whl

                pip install numpy-1.12.0 + mkl-cp27-cp27m-win_amd64.whl

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

                pip install scipy-0.18.1-cp27-cp27m-win_amd64.whl

              6. numpyscipy现在都可以在Python 2.7.13

                中导入

                请注意,在使用上述scipy-0.18.1-cp27-cp27m-win_amd64.whl命令之前,我已将numpy-1.12.0+mkl-cp27-cp27m-win_amd64.whlc:\Python27放在文件夹pip中。

                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>
                

答案 3 :(得分:0)

我通过以下步骤解决了这个问题:

  1. 创建和激活新的conda环境
  2. 在环境中安装numpy
  3. 然后将这个环境用于我的 项目

我使用PyCharm以便执行(3),我只是在(1)中创建的新环境中将项目解释器设置为Python解释器。