☰
free-stockdb Python SDK安装:安装.py一行脚本的原理与.pth模块路径详解
2026/10/31 8:55:09 网站建设 项目流程

free-stockdb Python SDK安装:安装.py一行脚本的原理与.pth模块路径详解

【免费下载链接】free-stockdb面向 A 股日K、分钟K与ETF分钟数据的本地量化引擎,集成增量同步、本地缓存、复权、批量查询、回测与指标计算。项目地址: https://gitcode.com/GitHub_Trending/fr/free-stockdb

free-stockdb是一款面向 A 股日K、分钟K与 ETF 分钟数据的本地量化数据引擎。它的Python SDK 安装不用pip install,只需运行一次 [pybao/安装.py] 脚本,就能通过.pth文件把模块路径写入 Python 搜索路径,实现"任何目录都能import"的全局调用效果。

3 步完成 Python SDK 安装(最快上手)

1️⃣ 下载发行包并解压,双击运行数据更新工具,等待数据同步到本地./data目录; 2️⃣ 双击启动本地数据库服务stockdb.exe(仅 2.2MB,默认监听127.0.0.1:7899); 3️⃣ 在终端执行一次安装脚本:

python pybao/安装.py

看到"成功!项目路径已写入到 xxx.pth"即安装完成,重启 Python 解释器或 IDE后,系统任何目录下都能直接使用:

from stock_sdk import *

后续调用示例可参考 [调用方式/python/sdk_test.py] 与 [pybao/stock_sdk.py]。

安装.py 源码逐段拆解:.pth 到底做了什么

[pybao/安装.py] 全文不到 55 行,只依赖 Python 标准库,核心逻辑分五步:

第 1 步:定位要"安装"的目录。用os.path.dirname(os.path.abspath(__file__))取脚本自身所在目录,也就是pybao/目录——stock_sdk.py、zhibiao.py、stockdb.pyd都在这里。

第 2 步:选择写入位置(免管理员权限)。脚本优先使用site.USER_SITE,即用户级site-packages 目录,普通权限即可写入;如果该目录不存在,才回退到site.getsitepackages()[0]系统级目录。

第 3 步:确定 .pth 文件名。以所在目录名命名,例如目录叫pybao,就生成pybao.pth。

第 4 步:防重复检查。若.pth已存在,先读取内容,发现相同路径已写入则直接跳过,因此脚本可重复执行,不会产生冗余行。

第 5 步:追加路径。用追加模式把目录绝对路径写入.pth,并用os.linesep保证 Windows / macOS / Linux 换行符正确;写入失败时给出权限不足等明确提示。

.pth 模块路径机制:为什么重启解释器就能全局导入

原理一句话:Python 解释器启动时,site模块会自动读取 site-packages 目录下的所有.pth文件,把其中每一行路径依次追加到sys.path。

所以安装脚本写入的这一行路径,等价于让pybao/永久进入模块搜索路径——和pip install注册包的效果类似,但省去了打包、metadata 和版本管理环节。这也正是 [pybao/说明_运行-安装.py-即可任何地方调用stockdb类似pip.txt] 中"运行一次安装.py,后续任何地方均可直接导入包(相当于 pip 全局)"的含义。

与 pip install 的区别对比

对比项pip installfree-stockdb 安装.py
安装方式打包为 wheel/sdist 后安装一行脚本写入.pth路径
权限要求可能需要管理员权限用户级 site-packages,普通权限即可
生效范围对应环境该 Python 用户全局
卸载方式pip uninstall删除生成的.pth文件
适用场景发布到公共包的软件本地数据引擎、私有 SDK 快速接入

常见问题排查清单

  • 提示权限不足(PermissionError):脚本已优先写用户级目录,一般不会遇到;若回退到系统目录,请以管理员身份运行。
  • 写入了但不生效:.pth在解释器启动时读取,必须重启 Python 进程 / IDE才生效。
  • 找不到stockdb.pyd:底层二进制模块需位于pybao/目录;Python 3.8+ 使用stockdb.pyd,3.14t 自由线程版本需将3.14t+stockdb.pyd重命名后再用。
  • 想"卸载" SDK:直接删除 site-packages 中的pybao.pth文件即可。

安装完成后:SDK 能干什么

启动本地服务后,SDK 提供三类核心接口(详见 [pybao/zhibiao.py]、[调用方式/调用说明.txt]):

  • 批量查询rd.get_data():全市场 7000+ 代码、任意周期(日/周/月/1、5、15、30 分钟)、前/后/不复权,支持返回 DataFrame;
  • 指标计算zb.get():内置 39 种技术指标 + 5 种指数,Rust 计算核心数秒出结果;
  • 板块映射bk.get():申万一二三级行业 + 1200 概念板块双向查询,毫秒级返回。

数据同步、查询与计算全部走本机链路,回测与策略研究不再受远程 API 限频约束。除 Python 外,free-stockdb 还支持 HTTP、Excel/WPS、HTML 网页与 AI MCP 五种调用方式,安装脚本正是 Python 与 MCP 两种方式的共同前提。

【免费下载链接】free-stockdb面向 A 股日K、分钟K与ETF分钟数据的本地量化引擎,集成增量同步、本地缓存、复权、批量查询、回测与指标计算。项目地址: https://gitcode.com/GitHub_Trending/fr/free-stockdb

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询