安装zipline过程中遇到的问题(和解决/绕过)

首先是这个官网:http://www.zipline.io/index.html

因为我习惯用pip install,所以就先用pip安装了zipline和所有dependency包,比如scipy、numpy、lxml等等。本来安装成功,也可以跑zipline run --help (注意是2个-)。但是,以下这步出了问题。

QUANDL_API_KEY=<api-key> zipline ingest -b quandl

头天晚上是下载不完,总是中断。第二天虽然下载完了,但是merge daily data的时候出错,提示df[mask]=0是一个错误。我到处找也没找到谁有遇到同样的错误。又仔细看zipline的官网,原来zipline支持的python为2.7和3.5,而我的python是3.6。遂下载了一个3.5的python,并把之前3.6里面的zipline删掉。但是,估计没有删除干净,所以这次pip3 install zipline之后,连zipline run --help都出错了,No module named 'zipline'。

这是路径问题,估计我删除之前下载的zipline,没有删除干净,导致系统总是读到之前的zipline。然后删除干净之后,又出现另外一个错误。错误码不记得了,大概是没有zipline.py这个文件(不是module)。还是路径问题,zipline似乎只能读anaconda里面python所在的路径。应该有解法,但我不知道。所以我又根据官网的建议,安装了virtualenv(因为它是一个单独的环境)。

virtualenv依然是各种报错,官网没有解释,我看了其它人的博客,还有stackoverflow上面的问题,发现virtualenv和anaconda有某种不兼容。我这次虽然用的是pip install,但我以前装过anaconda。所以就放弃pip install,转而看官网的install with conda。

这里注意一个细节,如果本身anaconda里面没有所需要的python版本,比如我这里是需要python3.5,就需要先创建python3.5的环境

conda create -n env_zipline python=3.5

然后才是

conda install -c Quantopian zipline

官网上是反着的,如果创建python3.5环境之前conda install,可能会出错(如果你的python本来就是3.5,估计不会出错)。install的过程中出现http错误,装了国内的镜像(https://blog.csdn.net/ling_xiobai/article/details/78659981),就可以继续了。

我现在这一步应该是完成了,可以跑zipline run --help。但是 ingest -b quandl 同样出现merge data的错误。我又在conda创建了一个python2.7的环境,结果同样是这个错误:ValueError: Boolean array expected for the condition, not float64

很崩溃。我觉得应该是zipline在读取quandl数据的源码有一点错误,有空再来深究。

zipline不仅可以读取quandl的数据,也可以直接读取csv的数据,这篇文章有一个例子,我直接用了

https://blog.csdn.net/qtlyx/article/details/73436626

用pycharm run的时候出现了各种错误,估计是Anaconda的配置没有有效的读进去(虽然路径已经配置过了)。经过调查,写了另一片文章如何在pycharm里使用anaconda(https://blog.csdn.net/codechelle/article/details/81203885)。

然后跑起来了(先是说缺少AAPL.csv这个文件,去yahoo下载即可,我用的是这里的,应该大同小异:

https://github.com/FlyCatZout/OpenSource_BSD/tree/master/zipline_application  ;又说缺少matplotlib,conda install matplotlib就可以了)。

猜你喜欢

转载自blog.csdn.net/codechelle/article/details/81191246