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.13
从https://www.python.org/downloads/windows/安装
我也安装了Anaconda
,也Python 2.7
和一个64位的机器,从这里下载https://www.continuum.io/downloads. Anaconda
跑Python 2.7.12
,而不是Python 2.7.13
.当我import numpy
在Anaconda
GUI 内部输入时,IPython
不会出现错误或警告.尽管如此,我numpy
从内部Python 2.7.13
使用的印象IDLE (Python GUI)
可能在计算上更快. Python 2.7.13
首先出现在我的Path语句中.
我numpy-1.12.0rc2+mkl-cp27-cp27m-win_amd64.whl
从http://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
使用其原始名称安装该文件,并收到该文件不适用于我的平台的错误.)
安装numpy
后Python 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小时,大部分时间已经花了试图安装numpy
到Python 2.7.13
.我主要使用R
并了解一些C
.我没有尝试安装任何其他Python
库或包.也许我错过了所需的依赖关系numpy
.感谢您对此问题的任何建议或帮助.如果我能提供更多信息,请告诉我.对不起,如果这是重复的.
就我而言,此问题与numpy有关。因此,我删除了numpy并再次安装了它。要删除numpy(如果您已经拥有conda环境),可以通过以下方法来完成:conda remove numpy
如果此命令还删除了一些其他依赖于numpy的软件包,那么在同一环境中(如果安装了pip),可以使用pip删除numpy并使用pip uninstall numpy
再次下载pip install numpy
。这可能应该修复您的错误。
这个问题在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 匹配。
我似乎已经使用以下步骤在 64 位计算机上numpy
安装了。我能够安装32 位或 64 位版本的. 提供了两者的说明。Python 2.7.13
Windows 10
numpy
Python 2.7.13
这个答案的顶部是我对 32 位 的说明Python
。
中间是我对 64 位的说明Python
。底部是我Python
使用 Wheel 文件的 64 位说明。
我怀疑我原来的帖子中的主要问题可能是由于没有意识到从这里( https://www.python.org/downloads/Python
)下载的默认版本显然是32位的。
numpy
用于在 32 位上安装Python 2.7.13
已卸载Anaconda
Anaconda
从窗口User Variables
中删除Environment Variables
Python 2.7.13
从Python官方网站安装:https: //www.python.org/
在命令窗口中输入:
C:\users\general1>cd:\python27
pip
尝试在命令窗口中更新,尽管pip
已经是最新的:
python -m pip install -U pip
在命令窗口中使用以下命令,该命令返回大量错误:
pip安装numpy
在命令窗口中输入:
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)
打开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
上述步骤适用于安装numpy
32 位版本的Python 2.7.13
.
要安装 64 位版本的 numpy,Python 2.7.13
我使用了以下步骤:
卸载Python 2.7.13
下载:python-2.7.13.amd64.msi
通过点击:Download Windows x86-64 MSI installer
从这里:https: //www.python.org/downloads/windows/
在命令窗口中输入:
C:\users\general1>cd:\python27
pip
尝试在命令窗口中更新,尽管pip
已经是最新的:
python -m pip install -U pip
在命令窗口中使用以下命令,这次没有返回任何错误:
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)
打开Python 2.7.13
并输入:
导入numpy
没有返回任何错误或警告。
检查是numpy
64 位还是 32 位。它是 64 位的。
导入 numpy.distutils.system_info 作为 sysinfo
sysinfo.platform_bits
64
用于安装numpy
wheel文件Python 2.7.13
安装后,numpy
我尝试安装scipy
并收到错误:(numpy.distutils.system_info.NotFoundError: no lapack/blas resources found
此处描述Windows Scipy Install: No Lapack/Blas Resources Found)。
我做了以下事情:
已卸载Python 2.7.13
Visual Studio Community 2017 RC
按照drewid的描述进行安装(此处: Windows Scipy Install: No Lapack/Blas Resources Found)
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.whl
从scipy-0.18.1-cp27-cp27m-win_amd64.whl
这里下载了文件:http: //www.lfd.uci.edu/~gohlke/pythonlibs/#numpy 。
然后我:
卸载Python 2.7.13
Python 2.7.13
使用重新安装python-2.7.13.amd64.msi
使用命令窗口中的以下行numpy-1.12.0+mkl-cp27-cp27m-win_amd64.whl
从http://www.lfd.uci.edu/~gohlke/pythonlibs/#numpy安装:
pip 安装 numpy-1.12.0+mkl-cp27-cp27m-win_amd64.whl
使用命令窗口中的以下行scipy-0.18.1-cp27-cp27m-win_amd64.whl
从http://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:\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>
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
20930 次 |
最近记录: |