论坛里关于ubuntu下安装vnpy已经有好几篇帖子了, 然而到自己实际操作时候磕磕绊绊有不少问题, 现在总算安装完了, 总结一下:
- ubuntu server安装时mirror address不要改, 前面帖子提到有些安装包版本不对, 我的感觉是有些安装包在官方源是没有的, 但是在阿里源会给你塞一大堆东西. 比如 sudo apt-get install python3-pip 在官方源就不可执行, 但是阿里源会给你安装一大堆包, 这里面可能就有版本问题, pip的安装最好还是去pypi手动下载后编译安装. 装好后pip源还是要改的, 否则好多通过pip安装的包都会超时.
- 安装vnpy的依赖包前执行两个命令: sudo apt-get install build-essential 和 sudo apt-get install python3-dev
- 我没有使用miniconda而是使用了virtualenv, 命令如下:
sudo python3 -m pip install virtualenv
virtualenv vnpy-env
source ./vnpy-env/bin/activate - 在进入虚拟环境后开始安装vnpy依赖包, 不用执行install.sh, 手动安装即可pip install numpy ta-lib psycopg2-binary ......
然后一个最神奇的命令 pip install . $@ 会把手动安装遗漏的包都补全了另外还安装了vnpy2.1.4最新包, 如果直接执行 pip install vnpy会安装vnpy1.9.2的包, 为什么会这样我不太明白, 高手指点一下. - 为什么有了git还要安装vnpy包呢?因为git拉下来的少了两个文件, 分别是关于vnctpmd和vnctptd的两个so文件, 从~/vnpy-env/lib/python3.8/site-packages/vnpy/api/ctp里把这两个文件cp到相应位置, 本来这两个文件应该是根据我们的期货公司要求的接入api版本不同自行编译的, 但是我在编译时出错, 只好借用编译好的so文件了.
- 把no_ui里的run.py拷贝到vnpy下改名为main.py, python -m vnpy完美启动无界面的vnpy, 不需要去改任何环境变量.
- 有界面的vnpy启动比较麻烦一下, 参照其他人的帖子, 要安装桌面和其他图形支持包, 好几个G, 接入的ssh工具好像也有特定要求, 我只需要vnpy帮我跑一点数据, 界面操作还是在Windows上用赢顺比较顺手, 所有就不搞了.