作为python小白,安装这两个库时查阅了许多文档,有些使用的文档隐藏很深,所以在这里自己总结一下。
(一)安装numpy(体积小,约20M)
(二)安装scipy
(三)做完(一)和(二)后报错了,需要改为下载numpy+mkl(体积大,约200M)
重要的话说三遍:
*****(一)和(二)两者不相容,只用(一)是可以的,做完(一)再做(二)会报错的,原因写在(三)里面了
*****(一)和(二)两者不相容,只用(一)是可以的,做完(一)再做(二)会报错的,原因写在(三)里面了
*****(一)和(二)两者不相容,只用(一)是可以的,做完(一)再做(二)会报错的,原因写在(三)里面了
(一)安装numpy库
1.下载网站:https://pypi/python.org/pypi/numpy
我的是python3.7,64位windows10,所以下载的是numpy-1.14.5-cp37-none-win_amd64
把这个文件放在python的scripts文件夹下。
*如果忘记了自己的python文件夹是哪一个,win10可以在电脑上搜索Python.exe,然后右键-打开所在文件夹,就能看到scripts文件夹了。
2.修改环境变量
然后将上述文件夹路径加入到系统变量中。方法如下:把Scripts这个目录拷贝下来,然后“右击此电脑-属性-高级系统设置-环境变量-系统变量-path-新建”将刚才的路径粘贴进去。
3.安装
在搜索栏输入cmd,右键,以管理员身份运行。输入pip3.7 install C:\Users\hp\AppData\Local\Programs\Python\Python37\Scripts\numpy-1.14.5-cp37-none-win_amd64.whl(后面很长的那一串是自己的文件完整路径加上名字,我安装软件的习惯不好,喜欢按照默认路径装,所以路径这么长)
4.等待一会儿,应该就会看到安装成功的信息。试一下python文件中能够正确导入,如果可以,才算是真的安装成功。
(二)安装scipy库
这个库安装的资料更加五花八门,我很想总结一下,供大家参考。
1.下载网址:https://pypi.org/project/scipy/1.1.0/#files
我的是python3.7,64位windows10,所以下载的是scipy-1.1.0-cp37-cp37m-win_amd64
把这个文件放在python的scripts文件夹下。
2.这里不用改环境变量了,前面已经改好了。要改的话参考(一)2。
3.安装
在搜索栏输入cmd,右键,以管理员身份运行。输入pip install C:\Users\hp\AppData\Local\Programs\Python\Python37\Scripts\scipy-1.1.0-cp37-cp37m-win_amd64.whl(后面很长的那一串是自己的文件完整路径加上名字,引号里不要多空格啊什么的,否则会出错)
4.等待一会儿,应该就会看到安装成功的信息。试一下python文件中能够正确导入,如果可以,才算是真的安装成功。
(三)做完(一)和(二),在一个文件中导入scipy库,运行,会看到如下报错信息:
Traceback (most recent call last):
File "C:\Users\hp\Desktop\a.py", line 1, in
from scipy.misc import imread, imsave, imresize
File "C:\Users\hp\AppData\Local\Programs\Python\Python37\lib\site-packages\scipy\misc\__init__.py", line 68, in
from scipy.interpolate._pade import pade as _pade
File "C:\Users\hp\AppData\Local\Programs\Python\Python37\lib\site-packages\scipy\interpolate\__init__.py", line 175, in
from .interpolate import *
File "C:\Users\hp\AppData\Local\Programs\Python\Python37\lib\site-packages\scipy\interpolate\interpolate.py", line 20, in
import scipy.linalg
File "C:\Users\hp\AppData\Local\Programs\Python\Python37\lib\site-packages\scipy\linalg\__init__.py", line 190, in
from .misc import *
File "C:\Users\hp\AppData\Local\Programs\Python\Python37\lib\site-packages\scipy\linalg\misc.py", line 5, in
from .blas import get_blas_funcs
File "C:\Users\hp\AppData\Local\Programs\Python\Python37\lib\site-packages\scipy\linalg\blas.py", line 214, in
from scipy.linalg import _fblas
ImportError: DLL load failed: 找不到指定的模块。
这么多文件是因为它在一步步推导报错原因。虽然一开始就有错了,但是这个错误直到最后要输出的时候才给你倒推出来。
最后总结:问题原因是numpy没找到支持blas的库。
解决办法:到https://www.lfd.uci.edu/~gohlke/pythonlibs/#numpy,下载numpy+mkl,文件选择和下载过程参考(一),就是文件名不一样而已。(如果已经安装numpy,可以通过pip uninstall numpy卸载。)
这样安装后运行程序,又一次报错:
Traceback (most recent call last):
File "C:\Users\hp\Desktop\a.py", line 1, in
from scipy.misc import imread, imsave, imresize
ImportError: cannot import name 'imread' from 'scipy.misc' (C:\Users\hp\AppData\Local\Programs\Python\Python37\lib\site-packages\scipy\misc\__init__.py)
为了解决这个问题,我们需要安装pillow库,在命令行进入安装python的文件夹下的scripts文件夹,运行pip intall pillow就可以了。
然后我的程序就能顺利运行了。
from scipy.misc import imread, imsave, imresize
img = imread("cat.jpg")
print(img.dtype, img.shape)
输出了文件图片的信息:
uint8 (900, 1440, 3)