下面这些不是必须的,为了方便而弄的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