序言
最近开始关注vn.py,如果你不是手抖才点进这个链接,那么一定不需要再去介绍这玩意儿了吧!
如果是单纯的使用编辑测试你的策略,那么并不需要下面这么复杂的操作,直接参考官网文档即可!
但我们今天要做的是基于vn.py进行定制的二次开发。那么就需要搭建一个开发环境供我们使用。
接下来的操作就是基于这个目的,为了便于和我有同样需求的小伙伴,下文记录的搭建过程中遇到的一些问题和一些坑!
也许并不是最标准的搭建方法,但侥幸成功了!后续还会持续更一些vn.py二次开发过程中的心得。
环境搭建
基础环境
下面几个东东得下载和安装就不做具体介绍了。
- PyCharm(社区版)
- Miniconda/Anaconda(根据你的喜好选一个即可)
- Visual Studio 2019(需要vs2019的编译器,后续会介绍)
准备源代码
先准备vnpy的源代码,可以通过git,或者下载zip包,或者通过PyCharm导入项目。
地址:https://github.com/vnpy/vnpy
1 下载zip包
2 clone代码:
3 如果你对你的网速有信心,可以使用PyCharm导入项目。
PS:如果你只是本地玩玩,那么推荐你使用下载zip包的方式,会大大节省你的时间。
创建工程
如果使用zip或者 clone的方式需要在PyCharm中创建项目。
1 新建项目,选择你之前安装的Miniconda环境。
2 (可选)
启动PyCharm终端,安装依赖
pip install -i https://pypi.tuna.tsinghua.ed... -r requirements.txt
使用国内源,-i https://pypi.tuna.tsinghua.ed...,提高下载速度。
安装
在终端执行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。
运行
进入 example/vn_trader/目录,执行python run.sh注意:执行报错
说明python需要调用的C库没有找到,或者说我们并没有编译这个库。
接下来我们编译这个库,用vs2019打开api工程,这里以ctp为例,在vnpyapictpvnctp目录下。
编译工程报错
解决方法:
1)设置头文件目录
python.h的目录——在你Miniconda的安装目录里。
api的用文件目录——以ctp为例。
2)添加引用的库目录和库
包括api的库和python3的库。
重新编译成功,生成两个lib。
如果报找不到pyqt相关的module,那么你需要做下面的操作:
需要安装pyqt5_stubs这个包:pip install -i https://pypi.tuna.tsinghua.ed... pyqt5_stubs
这时右上角出现install requirement,点击安装。
启动成功
再次预先python run.py
成功启动
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。