本机环境:ubuntu18,anaconda4.3

之前使用米框的rqalpha进行开发,由于其无法实盘,故想改用vnpy。然后就发现了,安装的时候可有无限的坑。这里整理了完整安装+踩坑流程,之所以记录踩坑,有些问题相对小众,不大容易搜到,后面有人遇到类似情况,可以及时迷途知返。

首先对于旧版版本v1.9之前的和新版v2.0,旧版在python2.7上,新版在python3.7上,python3.5不行,特殊注意下

(坑)按照官方教程:https://github.com/vnpy/vnpy/wiki/Ubuntu%E7%8E%AF%E5%A2%83%E5%AE%89%E8%A3%85

但是这个教程实际是V1.9的教程,V2.0并不适用,但文中根本没提到这一点(其实2.0比这个简单,所以按这个安装理论上也是没问题的,不过中间遇到的坑需要一个个踩)

那么2.0版本的教程呢?

这里:https://github.com/vnpy/vnpy_lab/blob/master/cpp_api_binding/doc/build.linux.md

笔者是先安装的1.9,后来发现坑太多,转安装2.0,2.0眼看最后一步了,有个问题没找到处理方案,丢到了论坛中了,在回头安装1.9.最终结果1.9安装成功了。2.0暂时放着,后续有时间了在研究,安装好后在补充博客。

vnpy安装的最大感受是,注意python版本,之前安装的大部分开源程序,名义上基于python2.x,3.x实际上2.x的都可基于2.7安装,3.x的都可基于3.5安装。一般来说问题不大,基本兼容的。但是vnpy必须严格遵守版本要求。v1.9对应python2.7,v2.0对应python3.7,尤其是v2.0这个基于python3.5会有非常多的问题,而且解决方案比较难找。还有一点就是基于anaconda的话最好使用全新的版本(v2.0的安装尤其需要如此),作者本机原来是稍旧版的anaconda,并不支持python3.7,后来通过conda 升级anaconda,然后使得其支持python3.7,但是基于此创建的虚拟环境,很多pip安装的包执行起来是混乱的,感觉上并没有和系统环境完全隔离开。最后重装了最新的anaconda后,新版anaconda创建的pyton3.7环境基本就没问题的。

尝试第五次安装(这次成功之前,经历过四次失败!!!),目标v1.9
主要参考:https://github.com/vnpy/vnpy/wiki/Ubuntu%E7%8E%AF%E5%A2%83%E5%AE%89%E8%A3%85s
1,创建conda环境
conda create -n vnpy27 python=2.7
source activate vnpy27

2,env下安装
pip install future

3,切换到系统下面安装(非env环境)(系统默认其实也是ana的环境,是ana就ana吧,懒癌晚期,摸索过一遍的东西绝对不摸索第二遍)
sudo apt-get install git 
sudo apt-get install mongodb
sudo apt-get install libboost-all-dev
sudo apt-get install cmake
sudo apt-get install libsnappy-dev
sudo apt-get install python-snappy

4,系统环境下安装
sudo apt-get install build-essential
sudo apt-get install python-dev

5,env下安装
source activate vnpy27

长期支持版git地址:https://github.com/vnpy/vnpy/tree/v1.9.2-LTS
切换到自己之前的git clone项目中,切换分之即可
cd ~/PYTHON/vnpy
git checkout v1.9.2-LTS
--是否安装CTP接口,yes
--有几个输入错了,输了大写Y,貌似认为n了
重新安装下,全部回车(y)

报错:
  File "build/bdist.linux-x86_64/egg/vnpy/api/rest/rest_client.py", line 28
     method: str,
暂不理会

cd ~/PYTHON/vnpy/examples/VnTrader
python run.py
报错:
  File "/home/john/anaconda3/envs/vnpy27/lib/python2.7/site-packages/vnpy-1.9.2-py2.7.egg/vnpy/event/eventEngine.py", line 11, in <module>
     from qtpy.QtCore import QTimer
  File "/home/john/anaconda3/envs/vnpy27/lib/python2.7/site-packages/qtpy/__init__.py", line 208, in <module>
     raise PythonQtError('No Qt bindings could be found')
qtpy.PythonQtError: No Qt bindings could be found
     进入python窗口,import qtpy确实无法import
    
    可能原因:由于在ananconda中安装,所以部分系统自带的包,无法使用(或版本不对),可能需要独立安装下
    参考教程中的安装pyqt4,部分
    ana环境中执行:
    sudo apt-get install qt4-dev-tools
    sudo apt-get install libqwt5-qt4 libqwt5-qt4-dev
    之前自己已下载的
    cd ~/下载/sip-4.19.8
    sudo python configure.py
    sudo make install
    
    cd ~/下载/PyQt4_gpl_x11-4.12.1
    sudo python configure-ng.py
     sudo make
     sudo make install
    依然不行。
    
    百度下报错提示:qtpy.PythonQtError: No Qt bindings could be found
    参考:https://github.com/spyder-ide/spyder/issues/3545
    执行:
    pip uninstall spyder
    pip install spyder==3.2.1
    报错:pylint requires Python '>=3.4.*' but the running Python is 2.7.11
    忽略,不使用这种解决方式,继续尝试其他解决方法
    
    参考:https://github.com/spyder-ide/spyder/issues/4078
    执行:conda install pyqt
    执行python
    import qtpy
    成功!

cd ~/PYTHON/vnpy/examples/VnTrader
python run.py
报错:
  File "/home/john/anaconda3/envs/vnpy27/lib/python2.7/site-packages/vnpy-1.9.2-py2.7.egg/vnpy/api/rest/RestClient.py", line 11, in <module>
    from enum import Enum
ImportError: No module named enum
     pip install enum
     成功!
     
cd ~/PYTHON/vnpy/examples/VnTrader
python run.py
报错:
  File "/home/john/anaconda3/envs/vnpy27/lib/python2.7/site-packages/vnpy-1.9.2-py2.7.egg/vnpy/api/rest/RestClient.py", line 12, in <module>
    from typing import Any, Callable, Optional
ImportError: No module named typing
    pip install typing
    成功
    
cd ~/PYTHON/vnpy/examples/VnTrader
python run.py
报错:
  File "/home/john/anaconda3/envs/vnpy27/lib/python2.7/site-packages/vnpy-1.9.2-py2.7.egg/vnpy/api/xtp/__init__.py", line 4, in <module>
    from .vnxtpquote import QuoteApi
ImportError: libsodium.so.18: cannot open shared object file: No such file or directory
    参考:https://mrxn.net/Linux/541.html
    执行:
    find / -name "libsodium.so.18" 2>/dev/null
    sudo ln -sf /home/john/anaconda3/pkgs/libsodium-1.0.10-0/lib/libsodium.so.18 /usr/lib/libsodium.so.18
    sudo ldconfig

python run.py
依然是同样的报错:
  File "/home/john/anaconda3/envs/vnpy27/lib/python2.7/site-packages/vnpy-1.9.2-py2.7.egg/vnpy/api/xtp/__init__.py", line 4, in <module>
    from .vnxtpquote import QuoteApi
ImportError: libsodium.so.18: cannot open shared object file: No such file or directory
    参考:https://blog.csdn.net/baidu_27518829/article/details/88383775
    执行:
    conda install -c conda-forge libsodium

python run.py
依然是同样的报错。
    参考:https://github.com/vnpy/vnpy/issues/1364
    执行: 
    sudo apt-get install libsodium-dev
    cd /home/john/PYTHON/vnpy/vnpy/api/xtp
    bash build.sh 
python run.py
依然是同样的报错。
    参考:同上
    执行:
    sudo gedit run.py
    注释掉加载xtpGateway的代码
    
python run.py
报错:
  File "/home/john/anaconda3/envs/vnpy27/lib/python2.7/site-packages/vnpy-1.9.2-py2.7.egg/vnpy/rpc/vnrpc.py", line 7, in <module>
    import zmq
ImportError: No module named zmq
    执行:pip install zmq

python run.py
报错:
  File "run.py", line 65, in main
    me.addGateway(xtpGateway)
NameError: global name 'xtpGateway' is not defined
    执行:sudo gedit run.py
    有个地方漏掉了,没注释干净

python run.py
启动起来了,但是没有行情,有账户信息没有配置

ubuntu18下vnpy1.9.2的安装相关推荐

  1. Ubuntu18下xsens IMU的驱动安装及使用imu_utils标定

    最近在做xsens IMU的标定工作,网上资源很多很杂,打算按自己的操作过程.细节及遇到的问题记录一下,里面有参考的博文都附了链接.主体可参考此博文:VIO 中 IMU 的标定流程 (1/3) - i ...

  2. Ubuntu18.04系统中python3.7安装MultiNEAT库

    Ubuntu18.04系统中python3.7安装MultiNEAT库 前言 MultiNEAT介绍 安装问题 boost安装 MultiNEAT安装 安装过程遇到问题及解决方法 前言 MultiNE ...

  3. 史上最详细的UEFI+GTP安装ubuntu18.04LTS全记录,涵盖安装过程中的各种问题,所有的问题都将在这里终结。

    首先,若还有朋友不知道UEFI,可以先百度了解一下.截止到现在2019年,90%的朋友所使用的电脑都支持UEFI,不支持UEFI的电脑应该已经退役的差不多了.所以当你百度了解UEFI之后,相信你会有想 ...

  4. Ubuntu18.04+ROS+kalibr标定工具箱安装编译

    目录 前言 一.安装ROS 1.设置镜像源 2. 更新软件包索引 3. 安装ROS 4.测试ROS是否安装成功 二.安装kalibr-melodic 1.kalibr简介 2.安装kalibr 3.测 ...

  5. CentOS6.5 下sciki-learn numpy scipy 的安装

    CentOS6.5 下sciki-learn numpy scipy 的安装 软件安装 CentOS Python 之前用的一直是CentOS 7, 后来觉的软件安装太麻烦就改到了Ubuntu, 这些 ...

  6. Windows下当地RabbitMQ服务的安装

    Windows下本地RabbitMQ服务的安装 本文参考:刘若泽相关技术文档 当然这些内容页可以通过RabbitMQ官方网站获得. RabbitMQ配置说明手册 一.RaibbitMQ服务器配置 1. ...

  7. transmission Linux(debian)下的BT下载客户端安装

    transmission Linux(debian)下的BT下载客户端安装 转载于:https://blog.51cto.com/2042617/1597540

  8. php mysql编译安装目录_Linux下Apache PHP MySQL默认安装路径

    Linux下Apache PHP MySQL默认安装路径 Apache 如果采用RPM包安装,安装路径应在 /etc/httpd目录下 Apache配置文件: /etc/httpd/conf/http ...

  9. windows10下使用wget命令(安装失败,请大家提意见)

    windows10下使用wget命令(安装失败,请大家提意见) 下载 下载地址 安装 配置环境变量 计算机–属性–高级系统设置–环境变量 可以在用户变量或者系统变量里新建变量,俩个选一个就行(我在个人 ...

最新文章

  1. GDB调试--以汇编语言为例
  2. 2016 多校赛3 A 水 B 期望,规律 C 各种博弈 J 物理题,积分 K 暴力,水
  3. linux kernel 内存管理 感想总结(未完待续)
  4. 数字图像处理及MATLAB实现实验五——图像增强
  5. Luogu3092 [USACO13NOV]没有找零No Change (状压DP)
  6. win10安装dockerx docker的常见命令 可以子腾讯云上做做练习
  7. Infinispan版本已映射到最低Java版本
  8. linux python安装教程_Linux系统如何安装Python?新手教程
  9. 计算机网络原理(第二章)课后题答案
  10. simulink中文_CarSimamp;Simulink 联合仿真案例
  11. python创建列表的语句_如何使用列表作为参数创建SELECT语句? - python
  12. 随记(电脑硬件对比)
  13. 关于js如何获取鼠标划过文本的内容与下标
  14. Sql Server 创建唯一聚集索引典型实现
  15. MicroPython_ESP8266_IoT——第四回 初入联网(接入了贝壳物联)
  16. 畅购商城项目(面试版)二
  17. 如何快速上手小程序开发(史上最全)
  18. codec和DSP的区别
  19. 织梦网站后台基本设置
  20. 机器人教父预测AI未来32年!Yann LeCun留言称赞

热门文章

  1. Java OpenCV之Mat类的概述、常用构造方法、常用函数
  2. 进程互斥的软件实现方法
  3. 什么是SQL Server中的数据库规范化?
  4. 再次测试用OLW本地的桌面应用撰写博客园博文
  5. 老蒋征婚启示啊啊啊啊啊啊
  6. python web开发-flask中消息闪现flash的应用
  7. iptables中DNAT、SNAT和MASQUERADE的理解
  8. webstrom中使用git
  9. JavaScript Array对象 知识点总结
  10. ReadWriteLock1.8源码