VeighNa量化社区
你的开源社区量化交易平台 | vn.py | vnpy
Member
avatar
加入于:
帖子: 422
声望: 183

本文记录了利用python包管理生态管理工具uv,从源码恢复vnpy的运行环境的全过程。

一、采用uv作为python生态管理工具

python包管理生态中存在多种工具,如pip、pip-tools、poetry、conda等,各自具备一定功能。

uv新一代python生态管理工具,它是 Astral 公司推出的一款基于Rust编写的Python包管理工具,旨在成为“Python的 Cargo”。

它提供了快速、可靠且易用的包管理体验,在性能、兼容性和功能上都有出色表现,为 Python项目的开发和管理带来了新的选择。

为什么用uv

与其他 Python 中的包管理工具相比,uv 更像是一个全能选手,它的优势在于:

  1. 速度快:得益于 Rust,uv 工具的速度让人惊艳,比如安装依赖,速度比其他工具快很多
  2. 功能全面: uv 是“一站式服务”的工具,从安装 Python、管理虚拟环境,到安装和管理包,再到管理项目依赖,它统统都能处理得很好
  3. 前景光明:背后有风投公司 Astral支持,且采用了 MIT许可,即使未来出现问题,社区也有应对的办法

使用uv,也可以像 Node]s 或者 Rust 项目那样方便的管理依赖。

二、安装uv

windows上安装uv,在cmd窗口中执行下面命令:

powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"

注意:执行完毕后,会在C:\users\\<用户名称>\.local\bin目录下安装两个文件uv.exe和uvx.exe。

description

进入cmd或者powershell窗口,输入uv命令应该可以得到如下回应就表示uv已经安装成功了:

description

如果报告“uv不是内部或外部命令,也不是可运行的程序或批处理文件。”请打开“我的电脑”| “高级系统设置”| “环境变量”| “用户变量”| “Path”,把C:\users\\<用户名称>\.local\bin目录添加进去就可以。

description

description

三、下载vnpy 4.0源码

description
如图所示,从https://www.github.com下载到vnpy-master.zip源代码,解压后包含如下文件和目录:

description

四、恢复vnpy的运行环境

4.1 安装python 3.13.17

输入下面的命令,限定python版本3.13,实际安装的是python 3.13.17。

uv python install 3.13

4.2 重建虚拟环境

来到vnpy-master源码目录下,输入下面的目录创建虚拟环境目录,当前目录下会多出.venv目录,其中包含虚拟环境的配置文件。

cd d:\vnpy-master
uv venv

4.3 安装ta-lib

这一步是最关键的一步,我是好几天都无法通过这一步,最后在陈总——陈晓优的指导下才通过的。

先把ta-lib二进制包装了,注意这里必须先指明安装的源是https://pypi.vnpy.com。

uv pip install ta-lib --index=https://pypi.vnpy.com

4.4 安装vnpy核心模块

uv pip install . --index=https://pypi.vnpy.com

4.5 安装vnpy其他需要的模块

只有vnpy核心模块是不够的,还需要根据自己的需要安装其他的模块才能够运行实际的交易:

  • 如果采用ctp行情和交易接口需要安装vnpy_ctp模块
  • 如果采用米筐历史书需要安装vnpy_rqdata模块
  • 如果采用cta策略需要安装vnpy_ctastrategy模块
  • 如果要运行cta策略回测需要安装vnpy_ctastrategy模块
  • 如果使用mysql数据库作为数据存储pymysql和vnpy_mysql模块
  • 如果需要对本地数据存储进行管理 vnpy_datamanager 模块

可以合并也可以逐条执行如下命令:

uv add importlib_metadata pymysql
uv add vnpy_ctp vnpy_ctastrategy vnpy_ctabacktester vnpy_datamanager vnpy_mysql vnpy_rqdata

五、运行例子

5.1 运行example\verghna_trader\run.py

vnpy的源码中包含一个例子,位于example\verghna_trader子目录下,其中的run.py最具代表性,它演示了如何利用已经安装的核心和其他配套模块能够完成功能:

  • vntrader界面
  • CTA策略交易界面
  • CTA策略回测
  • 本地数据管理
  • 合约查询
cd d:\vnpy-master\examples\veighna_trader\
uv run run.py

vntrader界面

description

合约查询界面

description

Member
avatar
加入于:
帖子: 1870
声望: 142

感谢分享!

© 2015-2022 上海韦纳软件科技有限公司
备案服务号:沪ICP备18006526号

沪公网安备 31011502017034号

【用户协议】
【隐私政策】
【免责条款】