关于Ubuntu 安装的调整:
一键安装过程整体分为3步:
Ubuntu 需要准备 gcc 环境,
sudo apt update # 更新信息
sudo apt install build-essential # 安装 gcc
利用 conda 构建环境,例如
conda create -n vnpy3 python=3.10 #喜欢的也可以用 python=3.9
conda activate vnpy3 # 激活环境准备安装下面的东西
3.下载安装ta-lib库, 记得要先完成第2步,否则不知道装哪里去了,
TA_Lib # install from src for linux
wget http://prdownloads.sourceforge.net/ta-lib/ta-lib-0.4.0-src.tar.gz
tar xf ta-lib-0.4.0-src.tar.gz
cd ta-lib
./configure --prefix=/usr
make
sudo make install
pip install TA-Lib
4. 安装requirements.txt文件内的相关依赖库;这个步骤可以省略, 因为pip 会根据第三步重新匹配相应的基础环境。
5. 安装VeighNa本身。这次系统重构后,可以让用户根据自己的需求灵活选择所需的功能,故不同的功能模块需要独立安装。一个典型的安装组合如下, 利用 sqlite存放tushare的数据,所有功能都装上,有点贪心。其实不做期货的就可以用用装期货模块:
pip install vnpy vnpy_ctastrategy vnpy_ctabacktester vnpy_spreadtrading vnpy_optionmaster vnpy_portfoliostrategy vnpy_algotrading vnpy_scripttrader vnpy_paperaccount vnpy_chartwizard vnpy_portfoliomanager vnpy_rpcservice vnpy_datamanager vnpy_datarecorder vnpy_excelrtd vnpy_riskmanager vnpy_webtrader vnpy_rest vnpy_websocket vnpy_sqlite vnpy_mysql vnpy_tushare vnpy_ctp
```
特别提醒,若是在虚拟机上运行,请把内存调至4G以上,否则会报错内存不足。
Ubuntu , 从 https://github.com/vnpy 下载的,应该不会错吧, 小马都一样。
启动后还是 VeighNa Trader , 没有看见 VeighNa Station 的新样子。不知错在哪里了。
在ubuntu上,发现另外一种装法,更加简单快捷
这样就完成安装了。
下面开始测试, 参考 https://gitee.com/vnpy
新建一个工作目录,在里面建立文件 run.py, 里面的内容如下 :
from vnpy.event import EventEngine
from vnpy.trader.engine import MainEngine
from vnpy.trader.ui import MainWindow, create_qapp
from vnpy_ctp import CtpGateway
from vnpy_ctastrategy import CtaStrategyApp
from vnpy_ctabacktester import CtaBacktesterApp
def main():
"""Start VeighNa Trader"""
qapp = create_qapp()
event_engine = EventEngine()
main_engine = MainEngine(event_engine)
main_engine.add_gateway(CtpGateway)
main_engine.add_app(CtaStrategyApp)
main_engine.add_app(CtaBacktesterApp)
main_window = MainWindow(main_engine, event_engine)
main_window.showMaximized()
qapp.exec()
if name == "main":
main()
在终端里面行下列命令启动VeighNa Trader:
python run.py
原来 vnpy的界面可以根据自己的需要裁剪, 不错。
pip list | grep vnpy
vnpy 3.0.0
vnpy-algotrading 1.0.2
vnpy-chartwizard 1.0.2
vnpy-ctabacktester 1.0.5
vnpy-ctastrategy 1.0.8
vnpy-datamanager 1.0.5
vnpy-datarecorder 1.0.3
vnpy-excelrtd 1.0.1
vnpy-mysql 1.0.0
vnpy-optionmaster 1.0.2
vnpy-paperaccount 1.0.1
vnpy-portfoliomanager 1.0.1
vnpy-portfoliostrategy 1.0.1
vnpy-rest 1.0.3
vnpy-riskmanager 1.0.3
vnpy-rpcservice 1.0.1
vnpy-rqdata 2.9.44.1
vnpy-scripttrader 1.0.1
vnpy-spreadtrading 1.1.4
vnpy-sqlite 1.0.0
vnpy-tushare 1.2.64.3
vnpy-websocket 1.0.2
vnpy-webtrader 1.0.4
从 github 上下载的 3.0.0 版本,解压缩目录是这样的
build/ dist/ examples/ install_osx.sh LICENSE README_ENG.md requirements.txt setup.py vnpy.egg-info/
CHANGELOG.md docs/ install.bat install.sh MANIFEST.in README.md setup.cfg vnpy/
从example/vn_trader 里面可以启动 GUI。
明天折腾 vscode 远程调试, 界面框架不是最重要的。更加喜欢script干活, 可视化的部分在django上面再慢慢折腾吧。
我在 ubuntu20.04 上面, python3.9 ,安装 vn-py 3.0, 有图形化界面。 执行 install.sh 顺利,完成,但发现 vnpy_xxxxx的库都没有装。
检查发现 这个发行版本里面的 requirements.txt 里面只有
tzlocal==2.0.0
PySide6==6.2.3
pyqtgraph==0.12.3
qdarkstyle==3.0.3
numpy==1.21.5
pandas==1.3.5
matplotlib==3.5.1
seaborn==0.11.2
ta-lib==0.4.24
deap==1.3.1
pyzmq==22.3.0
plotly==5.5.0
importlib-metadata==4.10.1
没有 vnpy的其他安装库,按照文档自行下载用 pip 安装
pip install vnpy_ctastrategy vnpy_ctabacktester vnpy_spreadtrading vnpy_optionmaster vnpy_portfoliostrategy vnpy_algotrading vnpy_scripttrader vnpy_paperaccount vnpy_chartwizard vnpy_portfoliomanager vnpy_rpcservice vnpy_datamanager vnpy_datarecorder vnpy_excelrtd
vnpy_webtrader vnpy_rest vnpy_websocket vnpy_ctp vnpy_rqdata vnpy_tushare vnpy_ifind vnpy_riskmanager vnpy_riskmanager vnpy_sqlite vnpy_tushare
完成后,可以启动界面,操作正常。
问题:
1 。发现所有的vnpy 库都被装到 python3.9的环境里面了。不知道其他在 ubuntu下面安装的是否也是这样?
回答: 有建立了一个虚拟换, 试验过来还是一样,就不折腾了,也能用。
2。 针对 Faile to import cython option pricing model, please rebuild with cython in cmd. 的提醒, 如何编译?
回答: 去 github 或者 gitee 下载 vnpy_optionmaster 的源文件,把 cython_model 目录下面的东西复制到 Ubuntu的python 环境里面 , 我是用conda 建立的虚拟环境 .../site-packages/vnpy_optionmaster/pricing, 里面有三个子目录, 依次进去执行 python setup.py build_ext --inplace , 分别生成两个文件, pyx和so结尾的, 总共 6个。 在复制到 ../../的目录里面,就是 .../site-packages/vnpy_optionmaster/pricing 这个目录里面, 原来里面有几个 pyd结尾的文件,就是这里。看不见 pyd结尾的地方就错了。 然后这个问题就ok了。
先谢谢各位了。