安装SciPy时导入错误

时间:2017-09-03 21:00:01

标签: python windows numpy scipy importerror

我在尝试在Windows上安装SciPy软件包时遇到了严重的麻烦......

我一直收到这个错误:

  

导入错误:       导入多阵列numpy扩展模块失败。最       可能你试图导入一个失败的numpy版本。       如果您正在使用numpy git repo,请尝试git clean -xdf(全部删除       不受版本控制的文件)。否则重新安装numpy。

Original error was: DLL load failed: The specified procedure could not be found.

接下来是:

Command "C:\Users\...\AppData\Local\Programs\Python\Python36-32\python.exe -u -c "import setuptools, tokenize;__file__='C:\\Users\\...\\AppData\\Local\\Temp\\pip-build-xm76_hu7\\scipy\\setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record C:\Users\...\AppData\Local\Temp\pip-epfoebfp-record\install-record.txt --single-version-externally-managed --compile" failed with error code 1 in C:\Users\...\AppData\Local\Temp\pip-build-xm76_hu7\scipy\

我真的不知道如何解决这个问题,我试过了:

  • easy_install的
  • 升级Numpy
  • 强制重新安装Numpy

2 个答案:

答案 0 :(得分:2)

通常在Windows上通过pip安装SciPy会遇到很多麻烦,因为您需要编译所需的依赖项,这些依赖项已知在此操作系统上存在问题。

我发现让他们工作的最好方法是安装专门为Windows制作的预编译轮子。我发现Christoph Gohlke的预编译轮子网站是在Windows上安装软件包的最佳方式。

http://www.lfd.uci.edu/~gohlke/pythonlibs/

SciPy轮需要通过他的网站在MKL下编译NumPy,但也可以通过他获得。

首先安装NumPy + MKL滚轮:http://www.lfd.uci.edu/~gohlke/pythonlibs/#numpy

您需要确保为Python选择正确的Python版本和位版本。您可以在每个轮子的文件名中看到。例如,numpy‑1.13.1+mkl‑cp34‑cp34m‑win_amd64.whl适用于Python 3.4,64位。

下载它,将其保存到您的计算机,然后使用pip安装滚轮:

pip install numpy‑1.13.1+mkl‑cp34‑cp34m‑win_amd64.whl

这假设您在下载滚轮的同一目录中运行pip。将文件名更改为您在上述命令中下载的任何版本。

安装完成后,请继续安装SciPy:http://www.lfd.uci.edu/~gohlke/pythonlibs/#scipy。确保选择正确的Python版本和位版本。

在此之后,它将有希望解决您所拥有的任何SciPy错误,因为它将基于其工作分布。

答案 1 :(得分:0)

我建议你使用virtualenv

mkdir .venv
cd .venv
virtualenv my_project
source my_project/bin/activate

然后安装numpy

pip install numpy