序言

最近开始关注vn.py,如果你不是手抖才点进这个链接,那么一定不需要再去介绍这玩意儿了吧!
如果是单纯的使用编辑测试你的策略,那么并不需要下面这么复杂的操作,直接参考官网文档即可!
但我们今天要做的是基于vn.py进行定制的二次开发。那么就需要搭建一个开发环境供我们使用。
接下来的操作就是基于这个目的,为了便于和我有同样需求的小伙伴,下文记录的搭建过程中遇到的一些问题和一些坑!
也许并不是最标准的搭建方法,但侥幸成功了!后续还会持续更一些vn.py二次开发过程中的心得。

环境搭建

基础环境

下面几个东东得下载和安装就不做具体介绍了。
  1. PyCharm(社区版)
  2. Miniconda/Anaconda(根据你的喜好选一个即可)
  3. Visual Studio 2019(需要vs2019的编译器,后续会介绍)

准备源代码

先准备vnpy的源代码,可以通过git,或者下载zip包,或者通过PyCharm导入项目。

地址:https://github.com/vnpy/vnpy


1 下载zip包

1579007602058_8.png

2 clone代码:

1579007599470_16.png


3 如果你对你的网速有信心,可以使用PyCharm导入项目。

1579007601313_5.png

PS:如果你只是本地玩玩,那么推荐你使用下载zip包的方式,会大大节省你的时间。

创建工程

如果使用zip或者 clone的方式需要在PyCharm中创建项目。

1 新建项目,选择你之前安装的Miniconda环境。

1579007599625_17.png

2 (可选)启动PyCharm终端,安装依赖

pip install -i https://pypi.tuna.tsinghua.ed... -r requirements.txt

使用国内源,-i https://pypi.tuna.tsinghua.ed...,提高下载速度。

1579007602602_9.png

安装

在终端执行install.bat

注意:执行报错

fatal error: ta-lib/ta_libc.h: No such file or directory

升级pip后重新执行install.bat。
升级pip成功但仍然报错,可以使用下面方法
找到pip-script.py,修改pip版本,指向你一下子的pip包,我这里的版本是pip==19.3.1。
1579007602797_10.png

运行

进入 example/vn_trader/目录,执行python run.sh
注意:执行报错
1579007602406_24.png
说明python需要调用的C库没有找到,或者说我们并没有编译这个库。
接下来我们编译这个库,用vs2019打开api工程,这里以ctp为例,在vnpyapictpvnctp目录下。

编译工程报错
解决方法:
1)设置头文件目录
python.h的目录——在你Miniconda的安装目录里。
api的用文件目录——以ctp为例。
1579008232214_26.png
1579008219623_25.png

2)添加引用的库目录和库
包括api的库和python3的库。
1579008409037_27.png
1579008432374_28.png

重新编译成功,生成两个lib。

1579009120768_30.png

如果报找不到pyqt相关的module,那么你需要做下面的操作:

需要安装pyqt5_stubs这个包:pip install -i https://pypi.tuna.tsinghua.ed... pyqt5_stubs

1579007601444_6.png

这时右上角出现install requirement,点击安装。
1579007601922_23.png

启动成功

再次预先python run.py
成功启动
1579013632529_31.png


夏洛克
43 声望2 粉丝