LOADING
1410 字
7 分钟
vnpy实战02_虚拟云主机安装vnpy19

01,常规软件安装#

1,
先修改默认编辑器为vim(默认为nano):
sudo update-alternatives --config editor
2,pip
sudo apt install python-pip -y
3,vim,git,aria2
apt-get install vim
sudo apt install git -y
apt-get -y install aria2
4,安装Anaconda
参考:Linux系统安装Anaconda:https://blog.csdn.net/teeyohuang/article/details/79076239
wget https://repo.anaconda.com/archive/Anaconda3-2019.03-Linux-x86_64.sh
bash bash Anaconda3-2019.03-Linux-x86_64.sh
一般都是yes
留意:Do you wish the installer to initialize Anaconda3
这个推荐no,最好也写yes,yes后不需要手动修改bashrc了
vim ~/.bashrc
最后一行添加 :export PATH="/home/Teeyo/anaconda3/bin:$PATH"
source .bashrc
执行:python,提示信息中有anaconda就说明使用anaconda的python,可以认为成功了。

02,vnpy安装整体流程#

参考:ubuntu18下vnpy的安装_第五次安装,目标v1.9(ok)
主要参考:https://github.com/vnpy/vnpy/wiki/Ubuntu环境安装
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 -y
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
mkdir PYTHON
cd PYTHON
git clone https://github.com/vnpy/vnpy.git
cd vnpy
git checkout v1.9.2-LTS
bash install.sh
中间有些报错:
Failed building wheel for ta-lib等
暂时不理会

执行脚本:
cd examples/VnTrader/
python run.py

报错:qtpy.PythonQtError: No Qt bindings could be found
执行:conda install pyqt
执行python
import qtpy
成功!
貌似这个也需要安装conda install qtpy
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
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
from typing import Any, Callable, Optional
ImportError: No module named typing
pip install typing
成功
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
import zmq
ImportError: No module named zmq
执行:pip install zmq
python run.py
报错:
QXcbConnection: Could not connect to display
Aborted
2中可能
第一种:之前自己本机跑时也需要注释掉一段代码,现在还没注释
注释掉xtpGateway
第二种,图形终端必须在vnc中python run.py才能启动,否则无法调用渲染
按照第二种处理,在vnc中打开终端,然后终端执行python run.py
vnc打开终端,没反应。
网上资料,有人说组件没安装完整
补充安装:
sudo apt-get install x-window-system-core
sudo apt-get install ubuntu-desktop gnome-panel gnome-settings-daemon metacity nautilus gnome-terminal
目测上面都是已有的,完整的
本地终端启动(环境vnpy27中启动):
依然不行
QXcbConnection: Could not connect to display
Aborted
解决方案01:export DISPLAY=':0.0'
不行。
如何得知虚拟机机器的display呢?
由于我们已经连接到远程桌面上了,虽然没有terminal终端但有个xtearm一样东西可以执行命令
执行:
echo ${DISPLAY}
:1
修该远程主机的display参数
export DISPLAY=':1.0'
执行python run.py
ok了,不过字符乱码了

6,env下安装jqdatasdk
pip install jqdatasdk

03,字符乱码问题#

参考:
01:https://www.simongong.net/vpskaiqivncfuwubingjiejuezhongwenluanmadefangfaubuntuxitong/
02:https://www.centos.bz/2017/12/%E8%A7%A3%E5%86%B3ubuntu%E7%9A%84%E4%B8%AD%E6%96%87%E4%B9%B1%E7%A0%81%E9%97%AE%E9%A2%98/

参考文章01,
(没有的文件未添加)
追加:sudo vim /etc/environment
LANG="zh_CN.UTF-8"
LANGUAGE="zh_CN:zh:en_US:en"
LC_CTYPE="zh_CN.UTF-8"
追加:sudo vi /etc/default/locale
LANG="zh_CN.UTF-8"
LANGUAGE="zh_CN:zh"
LC_NUMERIC="zh_CN.UTF-8"
LC_TIME="zh_CN.UTF-8"
LC_MONETARY="zh_CN.UTF-8"
LC_PAPER="zh_CN.UTF-8"
LC_NAME="zh_CN.UTF-8"
LC_ADDRESS="zh_CN.UTF-8"
LC_TELEPHONE="zh_CN.UTF-8"
LC_MEASUREMENT="zh_CN.UTF-8"
LC_IDENTIFICATION="zh_CN.UTF-8"
执行:sudo locale-gen
执行:sudo reboot
依然乱码。
参考文章02(文中提到没有文件需要添加)
执行(base和vnpy27):sudo apt-get install language-pack-zh-hans
追加:/etc/environment
LANG="zh_CN.UTF-8"
LANGUAGE="zh_CN:zh:en_US:en"
新建,追加:/var/lib/locales/supported.d/local(没有这个文件就新建,同样在末尾追加):
en_US.UTF-8 UTF-8
zh_CN.UTF-8 UTF-8
zh_CN.GBK GBK
zh_CN GB2312
执行(双环境base,vnpy27):sudo locale-gen
执行(base):sudo apt-get install fonts-droid-fallback ttf-wqy-zenhei ttf-wqy-microhei fonts-arphic-ukai fonts-arphic-uming
ok

04,分辨率问题#

01,启动vnc添加参数:
vncserver -geometry 1600x900
02,修改配置文件/root/.vnc/xstartup
xterm -geometry 1600x900+0+0
这个数字x修改为设定窗口大小。后边两个加号的数字是 窗口左上角的坐标,即设定窗口位置的。
重启vncserver 即可。
参考:https://bbs.csdn.net/topics/390978948

05,安装jqdatasdk#

pip install jqdatasdk

06,执行JQ的download下载数据#

numpy版本问题

your numpy version is 1.11.3.
Please upgrade numpy to >= 1.12.0 to use this pandas version
conda install numpy=1.12
由于安装时卸载了talib,所以需要重新安装talib
sudo chmod -R 777 anaconda3
conda install -chttps://conda.anaconda.org/quantopian ta-lib
这种方式会将numpy又变回到4.11版本
参考官网提供方式:
conda install -c jaikumarm ta-lib
地址:https://anaconda.org/jaikumarm/ta-lib
报错:ImportError: libta_lib.so.0: cannot open shared object file: No such file or directory
强制升级TA-Lib
pip install --upgrade --force-reinstall TA-Lib
安装numpy
conda install numpy
执行:
python downloadData.py
报错
01,ImportError: libta_lib.so.0: cannot open shared object file: No such file or directory
处理问题01,同类问题
进入python
>>> import talib
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/root/anaconda3/envs/vnpy27/lib/python2.7/site-packages/talib/__init__.py", line 4, in <module>
from . import common
ImportError: libta_lib.so.0: cannot open shared object file: No such file or directory
所以根源在talib的问题,改到06继续讨论
02,UnicodeEncodeError: 'ascii' codec can't encode character u'\uff08' in position 13: ordinal not in range(128)
处理问题02添加:
import sys
reload(sys)
sys.setdefaultencoding('utf-8')
推送到github
不行,
新建文件:sitecustomize.py
参考:https://www.cnblogs.com/kevingrace/p/5893121.html
不行
参考:https://oomake.com/question/281941
终端执行:
export PYTHONIOENCODING=utf-8
ok,
可打印出中文
将其配置到~/.bashrc文件中

07,tablib问题#

import talib报错

>>> import talib
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/root/anaconda3/envs/vnpy27/lib/python2.7/site-packages/talib/__init__.py", line 4, in <module>
from . import common
ImportError: libta_lib.so.0: cannot open shared object file: No such file or directory
所以根源在talib的问题,改到06继续讨论

先卸载

conda uninstall ta-lib
卸载掉的是4.9

conda安装

sudo chmod -R 777 anaconda3
conda install -c quantopian ta-lib
安装的版本4.6.11
同时numpy被降级,从1.13.1降低到1.11.3
问题是降级后pandas不就好使了。

numpy安装特定版本1.12

pip install numpy==1.12.0
提示:
Installing collected packages: numpy
Found existing installation: numpy 1.16.2
Uninstalling numpy-1.16.2:
Successfully uninstalled numpy-1.16.2
Successfully installed numpy-1.12.0
conda刚刚降为11,但是pip视角看为1.16.2版本

08,mongo问题#

安装mongo3.6版本否则空间不够用
参考:https://blog.csdn.net/gaoyan2011/article/details/79420034
mongo旧版用mongodump导出数据出来,然后mondorestore恢复
新版安装试用apt-get的阿里云源,可以安装3.6版本,之后如果直接使用mongod启动(不带其他参数)则数据文件必须放在/data/db种,mkdir这个路径就行了,否则无法启动,然后恢复数据mongorestore
添加自动启动

vim /etc/profile
追加
/usr/bin/mongod --dbpath /var/lib/mongodb/ --logpath /var/log/mongodb/mongodb.log --logappend &
vnpy实战02_虚拟云主机安装vnpy19
/posts/quant/e9358ee5/
作者
思想的巨人
发布于
2019-05-02
许可协议
CC BY-NC-SA 4.0

部分信息可能已经过时