备注
为了顺利编译代码, 请勿使用从 github 直接下载源码包的方式编译。 原因是 git 上传时部分文件的换行符被置换为Linux式的换行符,将导致直接下载的部分代码在Windows下无法顺利编译。
C++ API参考, 使用下面的命令生成 Doxygen 文档:
xmake doxygen -F hikyuu_cpp/Doxygen
编译前准备
1、安装C++编译器
已开始逐步向 c++20 迁移,编译需要支持 c++20 语言特性。
Windows 平台: Visual C++ 2022
Linux 平台: g++ > = 13 、 clang >= 15
2、安装构建工具 xmake
xmake >= 2.8.2,网址:https://github.com/xmake-io/xmake
3、克隆 Hikyuu 源码
执行以下命令克隆 hikyuu 源码:(请勿在中文目录下克隆代码)
git clone https://github.com/fasiondog/hikyuu.git
备注
捐赠用户如需使用插件,请安装 hikyuu_plugin 包: pip install hikyuu_plugin
如最新代码使用插件发生崩溃,建议 checkout release 分支或对应版本分支进行编译。
4、Linux下安装依赖软件包
Linux下需安装依赖的开发软件包。如 Ubuntu 下,执行以下命令:
sudo apt-get install -y libsqlite3-dev
6、Macosx 下安装 xcode 命令行工具
编译前请安装 xcode 及其命令行工具。
编译与安装
1. 安装 python 依赖包
pip install -r requirements.txt 或 pip install -r requirements.txt -U (定期升级依赖包)
2. 编译
备注
注意 :长时间没编译,更新代码后进行重编译前,请先执行 python setup.py clear 彻底清除之前的编译缓存。并更新 python 依赖,pip install -r requirements.txt
进入源码目录下,执行 python setup.py build -j 10 , 其他支持的 command:
python setup.py help -- 查看帮助
python setup.py build -- 执行编译
python setup.py install -- 编译并执行安装(安装到 python 的 site-packages 目录下)
python setup.py uninstall -- 删除已安装的Hikyuu
python setup.py test -- 执行单元测试(可带参数 --compile=1,先执行编译)
python setup.py clear -- 清除本地编译结果
python setup.py wheel -- 生成wheel安装包
各命令参数,可以 执行 python setup.py commond --help 查看, 如: python setup.py build --help
3. 设置 PYTHONPATH 环境变量
Linux 下如修改 ~/.bashrc 文件,在末尾添加如下内容 (指向源码目录) :
export PYTHONPATH=/path/to/hikyuu:$PYTHONPATH
4、Windows 下转 Visual Studio 工程
请先使用 python setup.py build 直接编译过一次后,在转换。
Windows 下,习惯用 msvc 调试的,可以使用 xmake project -k vsxmake -m "debug,release" 命令生成 VS 工程。命令执行后,会在当前目录下生成如 vsxmake2022 的子目录,VS工程位于其内。
在 VS 内,可以将 demo 设为启动工程,进行调试。
5、IDE无法正常提示
安装 pybind11-stubgen,使用命令 pip install pybind11-stubgen
运行 pybind11-stubgen hikyuu -o . 命令,即可正常提示帮助信息。
6、使用插件
如自行编译的希望使用 hikyuu 插件的,请安装独立的插件包 pip install hikyuu-plugin
但请注意插件版本需要配套,最好使用 release 分支(或标签)进行编译,避免版本不匹配无法使用。
Docker 构建
源码 docker 目录下,提供了基于 Ubuntu/Debain/Fedora 的 Dockerfile_dev 文件,可以用来快速构建 Hikyuu 的编译环境。
cd docker
docker build -t hikyuu_dev -f Dockerfile_dev .
docker run -it hikyuu_dev /bin/bash
进入 hikyuu 目录下,其他与源码编译步骤一致。
也可以使用基于 pip 安装 Hikyuu 的 dockerfile, 见 /docker/Dockerfile_miniconda 。
Hikyuu 使用前需要导入数据,Docker镜像不包含界面,可以直接执行 python hikyuu/gui/importdata.py 命令导入数据。
hikyuu 配置文件在 /root/.hikyuu 目录下, 数据文件存储(HDF5)在 /root/stocks 目录下,可自行在创建docker容器时指定挂载目录。