【量化交易】SciPy-Python科学算法库安装、附带切换python版本、及python虚拟环境路径问题解决。
SciPy库提供了大量有用的函数和类,用来解决各种专业领域的问题。
本文翻译自Jupyter nbviewer中的第三讲。
首先,介绍了一些特殊函数,如贝塞尔函数,这对物理学问题的计算提供了方便;之后是各种数值积分问题,常微分方程求解问题以及傅里叶变换,这些也可以描述并求解一些诸如复摆运动、阻尼震荡等复杂的物理过程;
同时,该库还可以高效处理线性代数问题,如矩阵的运算、特征值和特征向量以及稀疏矩阵的存储和运算;
最优化问题,即寻找函数极值和零点的问题,和插值问题,即用多项式拟合曲线的问题,在SciPy库中也可以找到相应的函数;
最后介绍了统计上的应用,包括各种分布的密度函数、分布函数及其图像绘制,以及一些统计检验问题。
#============================== 安装SciPy 分割线 =================================
因为我的mac上面安装了几个不同版本的py、现在默认的是py2.7的、
但是我pip install SciPy 是不支持2.7的、所以我只能先修改一下版本 如图问题:
方法一:
修改用户根目录下的~/.bash_profile文件,在终端输入:
open ~/.bash_profile
在文件中新增一行:
// 具体版本根据你/Library/Frameworks/Python.framework/Versions这个路径下最新版本自选
// 我的版本是3.7
alias python="/Library/Frameworks/Python.framework/Versions/3.7/bin/python3.7"
添加完之后执行
source ~/.bash_profile
验证:这个修改前是2.7.16版本的、修改后为3.7.5正常啦、继续下一步刚他!不要怂!!
方法二:(如果上面方法不行的话、那就用这个绝招看看了)
修改~/.bashrc 来达到目的
open ~/.bashrc
在文件中添加
alias python="python3"
这句话的意思就是 让python命令与phthon3等价,所以你每次在shell中输入python也就相当于输入了phthon3了。
这个时候再去看看版本号对不对、如果对了 下面这个东西就跳过吧!字多懒得看~
# =============== 方法二的标注============
注:使用方法3的时候发现并未生效,查资料显示Mac下要加载bashrc的方法是
~/.bashrc里面的一些设置,比如alias命令的设置“不起作用”,新开一个终端都要source一下才起作用。
unix下当shell是login shell,.bash_profile才会加载,而bashrc正好相反。
真正的区别是在Linux下,当用户登录到一个图形界面,然后打开一个终端terminal,那些shell是non-login shell。
然而,在OS X登录的时候,并没有运行着一个shell,所以,在运行Terminal.app的时候,其实那是一个login shell。
后来新建了 .bash_profile加载一次.bashrc就ok啦
if [ "${BASH-no}" != "no" ]; then
[ -r ~/.bashrc ] && . ~/.bashrc
fi
# =============== 方法二的结束============
如果继续刚的途中还发现这个问题~
原来是虚拟环境路径惹的锅、参考一下输入这个路径~ ↓
先查找自己的python路径位置:
python --->import sys ----> print sys.path
获取到后自己稍微编辑下拿到这个路径、敲下或自己替换如下命令即可:
pip3 install --target=/Library/Frameworks/Python.framework/Versions/3.7/Resources/ SciPy
就发现正在安装啦!!
这下距离梦想又近了一步~~
# ==================================== 分割线 ===================================
作者:J.R. Johansson (邮箱:[email protected])
译者:一路向上
最新版本的用法介绍见网站http://github.com/jrjohansson/scientific-python-lectures.
其他相关介绍见http://jrjohansson.github.io.
# 调用绘图函数
%matplotlib inline
import matplotlib.pyplot as plt
from IPython.display import Image
简介
SciPy框架建立于低一级的NumPy框架的多维数组之上,并且提供了大量的高级的科学算法。一些SciPy的应用如下:
- 特殊函数 (scipy.special)
- 积分 (scipy.integrate)
- 优化 (scipy.optimize)
- 插值 (scipy.interpolate)
- 傅里叶变换 (scipy.fftpack)
- 信号处理 (scipy.signal)
- 线型代数 (scipy.linalg)
- 稀疏特征值问题 (scipy.sparse)
- 统计 (scipy.stats)
- 多维图像处理 (scipy.ndimage)
- 文件输入输出 (scipy.io)
内容也是多啊、这里就先安装的为一部分、下一部分的就为导入包再跟着学习总结再记录一篇文章啦。
准备吃饭去~