vnpy在阿里云轻量服务器上的安装

下面这些不是必须的,为了方便而弄的ftp安装教程,适用于阿里云,传文件方便点
打开防火墙21号端口。
在这里插入图片描述
云服务器ECS->安全组->创建安全组->公网入方向-添加安全组规则
在这里插入图片描述
在这里插入图片描述
进入后台安装vsftpd,apt-get install vsftpd
之后还要到/etc/vsftpd.conf中将local_enable=YES,如果使用root访问还要将/etc/ftpusers中的root注释掉
下面是安装过程

由于安装遇到问题,改用vnpy1.9.2版本,配合anaconda2-2018.12-Linux-x86_64.sh对应python版本2.7,所使用系统为ubuntu16。
安装过程参考vnpy在github上的说明的图形桌面部分,注意只需要看图形桌面部分。

sudo apt-get install xrdp
sudo apt-get install vnc4server
sudo apt-get install xubuntu-desktop
sudo echo "xfce4-session" >~/.xsession
sudo vi /etc/xrdp/startwm.sh
#在. /etc/X11/Xsesion这一行前面加上一行,内容是:xfce4-session
sudo service xrdp restart

其他部分要看论坛的帖子。Ubuntu 16.04 + VNPY 1.9.2,半自动环境搭建脚本分享,为避免以后这个帖子跪了,本文将其内容附于末尾。

在运行的时候run.py出现找不到typing包的错误,typing包是直到python3.5才引入的,现在使用的是python2.7,所以理应没有,去源代码找原因,果然引入typing包后没有使用。这才去到文件vnpy安装目录下找 /root/miniconda2/envs/py27_quant/lib/python2.7/site-packages/vnpy-1.9.2-py2.7.egg/vnpy/api/rest/RestClient.py
把里面的from typing import Any, Callable, Optional注释掉,就能顺利打开图形界面了

虽然解决了图形界面问题,talib还是提示找不到包,为解决此问题,继续在conda的虚拟python环境下执行conda install -c quantopian ta-lib=0.4.9,为了进入conda虚拟python环境要执行 source activate py27_quant 这个命令,py27_quant是虚拟python环境的名字,因为是从帖子里带来的就没有改,大家可以自行修改。
帖子内容:Ubuntu 16.04 + VNPY 1.9.2,半自动环境搭建脚本分享

#!/usr/bin/env bash

############# 如何使用此文件 ####################
# 手工复制下面每一段英文标题的章节的脚本,复制粘贴.
# 运行每个章节时都需要根据屏幕提示输入一点东西,比如输入密码,敲回车,敲yes之类的

##############安装目录说明 ########################
# 所有的东西都默认安装在/home/dev/
# conda环境名字用的是py27_quant,可以在本文件中全局搜索替换
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~



#=================== add a new user(copy & paste)===================
# 阿里云默认用非root账户才能登录图形界面. 本地环境可以跳过这一步.
LINUX_USER_NAME="dev"
sudo adduser $LINUX_USER_NAME #要输入密码

#=============change user env (copy & paste) ===========
#切换到上面创建的用户的环境
sudo usermod -aG sudo $LINUX_USER_NAME
su $LINUX_USER_NAME  #要输入密码
sudo echo


# ========== download packages  (copy & paste)=====================
cd 
dnld_pkgs () {
  mkdir pkgs && cd pkgs

  #anaconda2
  wget -c https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/Miniconda2-latest-Linux-x86_64.sh
  
  #vn.py
  wget -c https://github.com/vnpy/vnpy/archive/v1.9.2.tar.gz 

  #pyQt
  wget -c https://sourceforge.net/projects/pyqt/files/sip/sip-4.19.13/sip-4.19.13.tar.gz
  wget -c http://sourceforge.net/projects/pyqt/files/PyQt4/PyQt-4.12.3/PyQt4_gpl_x11-4.12.3.tar.gz

  chmod 777 *
}

dnld_pkgs; #本章节全自动运行.


#==============install anaconda first (copy & paste)===============
./Mini*.sh #要输入一些yes


#==============install dependency libs (copy & paste)==============
#初始化anaconda的环境
sudo echo && cd
setup_conda () {
  source ~/.bashrc
  conda update conda -y
  conda create -n py27_quant python=2.7 -y
  sleep 2
  source activate py27_quant

  pip install --upgrade pip
  pip install -U future
}



#并安装后续步骤需要的ubuntu依赖库
sudo echo && source activate py27_quant && cd
install_sys_pkgs () {
  sudo apt update

  sudo apt install -y  screen mongodb libboost-all-dev cmake git libsnappy-dev python-snappy build-essential python-dev ubuntu-desktop python-qt4 qt4-dev-tools libqwt5-qt4 libqwt5-qt4-dev

}

setup_conda && install_sys_pkgs #本章节全自动运行.

#==============install pyQT (copy & paste)==============
# QT在出c++编程上跨平台,但是运行前都要单独编译.用pyQT,就只用一开始编译一次,之后直接用python.
sudo echo && source activate py27_quant && cd
install_pyqt () {

  tar xzvf pkgs/sip*.tar.gz
  cd sip*
  sudo python configure.py 
  sudo make install

  cd ..
  tar xzvf pkgs/PyQt4*.tar.gz
  cd PyQt4*
  sudo python configure-ng.py 
  sudo make install  #要输入yes确认license
}

install_pyqt;


#============ install vnpy (copy & paste) ===============
#有些python包在vnpy的官方install.sh里面没有,但是跑具体的例子要用到
sudo echo && source activate py27_quant && cd
conda install -y libgfortran==1 matplotlib qtpy jupyter
pip install -U zmq empty tushare bs4


#安装vnpy:做的是1)编译安装c++CTP接口 2)安装python依赖库
sudo echo && source activate py27_quant && cd
tar zxvf pkgs/v*.tar.gz
cd v*
bash ./install.sh  #中途要输入yes

#============ install teamviewer ====================
#本地运行忽略. 在阿里云上跑team viewer可以做远程访问
wget -c https://download.teamviewer.com/download/linux/teamviewer_amd64.deb
dpkg -i teamviewer*.deb


#########安装结束 ########
# cd && cd vnpy* && python examples/VnTrader/run.py
# 运行上面命令可以出界面.第一次的界面初始化时间长一点,在30秒以上.以后很快.
# 命令行上此时出现的找不到module的error,通过pycharm来运行就不会有.
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~



######## 爬坑提示 -- 基本环境 ########
# python3有些包还不支持,坑很多.等官方发布py3的版本后再尝试
# QT5和Python2.x不兼容,自己解决兼容问题很麻烦
# anaconda只要是anaconda2就行了,版本用最新的没关系

######## 爬坑提示 -- QT ########
# ubuntu的那些sudo apt install qtxxx 的部分要在编译安装qt之前做,否则编译qt找不到qmake等等错误
# pip install的那些qt要放在编译安装qt之后做.如果顺序不对,会出现qt license incompatible的问题
# 如果看到No Qt bindings could be found的错误,用"conda list qt"来检查,pyqt pyqtgraph qt qtconsole qtpy都要装了.详见https://www.cnblogs.com/ft-Pavilion/p/8950537.html

######## 爬坑提示 -- 找不到module ########

# 在pycharm环境下,把python的interpreter配置成conda environment,会在运行时自动找到path
# 在terminal环境下,找不到module的时候检查PTHONPATH.下面是能跑的环境的PYTHONPATH的例子

import sys
reload(sys)
print(sys.path)

['/mnt/Data/Workspace/python/ats/001_vnpy/vnpy-1.9.1/examples/VnTrader',
'/media/xiao/Data/Workspace/python/ats/001_vnpy/vnpy-1.9.1', 
'/media/xiao/Data/System/Programs/anaconda2/envs/py27_quant/lib/python27.zip',
'/media/xiao/Data/System/Programs/anaconda2/envs/py27_quant/lib/python2.7',
'/media/xiao/Data/System/Programs/anaconda2/envs/py27_quant/lib/python2.7/plat-linux2',
'/media/xiao/Data/System/Programs/anaconda2/envs/py27_quant/lib/python2.7/lib-tk',
'/media/xiao/Data/System/Programs/anaconda2/envs/py27_quant/lib/python2.7/lib-old',
'/media/xiao/Data/System/Programs/anaconda2/envs/py27_quant/lib/python2.7/lib-dynload',
'/media/xiao/Data/System/Programs/anaconda2/envs/py27_quant/lib/python2.7/site-packages',
'/media/xiao/Data/System/Programs/anaconda2/envs/py27_quant/lib/python2.7/site-packages/vnpy-1.9.0-py2.7.egg']

# 上面的都不行再检查是不是真的没有装相关的包


#################参考链接 ######################
#https://github.com/vnpy/vnpy/wiki/Ubuntu%E7%8E%AF%E5%A2%83%E5%AE%89%E8%A3%85
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值