bfcat wrote:
在ubuntu上,发现另外一种装法,更加简单快捷
- conda create vnpy3 python=3.10
- conda activate vnpy3
- 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
这样就完成安装了。
下面开始测试, 参考 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的界面可以根据自己的需要裁剪, 不错。
本人也是如此安装,系统ubuntu20.04,conda 4.13.0。但运行examples/veighna_trader/run.py
报如下错误。
找不到数据服务驱动vnpy_,使用默认的RQData数据服务
Traceback (most recent call last):
File "/home/用户目录/anaconda3/envs/vnpy3/lib/python3.10/site-packages/vnpy/trader/datafeed.py", line 50, in get_datafeed
module: ModuleType = import_module(module_name)
File "/home/用户目录/anaconda3/envs/vnpy3/lib/python3.10/importlib/__init__.py", line 126, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "<frozen importlib._bootstrap>", line 1050, in _gcd_import
File "<frozen importlib._bootstrap>", line 1027, in _find_and_load
File "<frozen importlib._bootstrap>", line 1004, in _find_and_load_unlocked
ModuleNotFoundError: No module named 'vnpy_'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/home/用户目录/vnpy-3.2.0/examples/veighna_trader/run.py", line 99, in <module>
main()
File "/home/用户目录/vnpy-3.2.0/examples/veighna_trader/run.py", line 76, in main
main_engine.add_app(CtaStrategyApp)
File "/home/用户目录/anaconda3/envs/vnpy3/lib/python3.10/site-packages/vnpy/trader/engine.py", line 101, in add_app
engine: BaseEngine = self.add_engine(app.engine_class)
File "/home/用户目录/anaconda3/envs/vnpy3/lib/python3.10/site-packages/vnpy/trader/engine.py", line 72, in add_engine
engine: BaseEngine = engine_class(self, self.event_engine)
File "/home/用户目录/anaconda3/envs/vnpy3/lib/python3.10/site-packages/vnpy_ctastrategy/engine.py", line 111, in __init__
self.datafeed: BaseDatafeed = get_datafeed()
File "/home/用户目录/anaconda3/envs/vnpy3/lib/python3.10/site-packages/vnpy/trader/datafeed.py", line 53, in get_datafeed
module: ModuleType = import_module("vnpy_rqdata")
File "/home/用户目录/anaconda3/envs/vnpy3/lib/python3.10/importlib/__init__.py", line 126, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "<frozen importlib._bootstrap>", line 1050, in _gcd_import
File "<frozen importlib._bootstrap>", line 1027, in _find_and_load
File "<frozen importlib._bootstrap>", line 1006, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 688, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 883, in exec_module
File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
File "/home/用户目录/anaconda3/envs/vnpy3/lib/python3.10/site-packages/vnpy_rqdata/__init__.py", line 26, in <module>
from .rqdata_datafeed import RqdataDatafeed as Datafeed
File "/home/用户目录/anaconda3/envs/vnpy3/lib/python3.10/site-packages/vnpy_rqdata/rqdata_datafeed.py", line 14, in <module>
from vnpy.trader.utility import round_to, ZoneInfo
ImportError: cannot import name 'ZoneInfo' from 'vnpy.trader.utility' (/home/用户目录/anaconda3/envs/vnpy3/lib/python3.10/site-packages/vnpy/trader/utility.py)
有什么解决办法吗?
已解决:将vnpy_rqdata退后一个版本。查了下论坛感觉遇到出错,大多数可以将使用的包退后到某个版本能解决问题。
希望给大家带来帮助