我是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
时,不会出现任何错误或警告。尽管如此,我使用numpy
从Python 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.whl
:
numpy-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
所需的依赖关系。感谢您对此问题的任何建议或帮助。如果我能提供更多信息,请告诉我。对不起,如果这是重复的。
答案 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
已卸载Anaconda
已从Anaconda
窗口中的User Variables
移除Environment Variables
从官方Python网站安装Python 2.7.13
:https://www.python.org/
:
C:\用户\ general1&GT; CD:\ python27
尽管pip
已经是最新的,但仍尝试在命令窗口更新pip
:
python -m pip install -U pip
使用了以下命令,该命令返回了大量错误:
pip install numpy
:
python -m pip install 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
已打开Python 2.7.13
并输入:
import numpy
仅返回命令提示符。没有发出错误或警告。
我还没有尝试使用任何需要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,我使用了以下步骤:
卸载Python 2.7.13
从此处点击:python-2.7.13.amd64.msi
下载Download Windows x86-64 MSI installer
:https://www.python.org/downloads/windows/
:
C:\用户\ general1&GT; CD:\ python27
尽管pip
已经是最新的,但仍尝试在命令窗口更新pip
:
python -m pip install -U pip
使用了以下命令,这次没有返回任何错误:
pip install 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
已打开Python 2.7.13
并输入:
import numpy
未返回任何错误或警告。
检查numpy
是64位还是32位。它是64位。
将numpy.distutils.system_info导入为sysinfo
sysinfo.platform_bits
64
在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)。
我做了以下事情:
已卸载Python 2.7.13
按照drewid所述安装Visual Studio Community 2017 RC
(此处:Windows Scipy Install: No Lapack/Blas Resources Found)
也按照drewid的说明安装了VCForPython27.msi
。
然后我收到了此处提到的scipy
错误cannot import name NUMPY_MKL
(ImportError: 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
使用命令窗口中的以下行从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
使用命令窗口中的以下行从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
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>
答案 3 :(得分:0)
我通过以下步骤解决了这个问题:
conda
环境numpy
我使用PyCharm
以便执行(3),我只是在(1)中创建的新环境中将项目解释器设置为Python解释器。