支持的平台
- Python 3.12 及以上,64 位解释器。
- Windows x86_64、Linux x86_64、macOS Apple Silicon arm64。
- SDK 通过平台 wheel 分发,不提供源码安装包;不支持的平台不能依靠下载源码自行编译安装。
- 使用 venv 隔离项目依赖;不要在同一个解释器内混装不同架构的二进制包。
安装与检查
python --version
python -m venv .venvLinux / macOS:
source .venv/bin/activate
python -m pip install --upgrade pip
python -m pip install exsdk
python -c "import exsdk; print(exsdk.__version__)"Windows PowerShell:
.venv\Scripts\Activate.ps1
python -m pip install --upgrade pip
python -m pip install exsdk
python -c "import exsdk; print(exsdk.__version__)"本文以 1.1.2 为基准。需要可复现环境时使用 python -m pip install exsdk==1.1.2。若无匹配分发包,请检查 Python 版本、系统架构和可用 wheel。
设置 Token
在官网使用手机号登录。首次登录自动开通账户,享 15 天专业版体验。进入个人中心 → SDK Token 创建令牌,明文只显示一次。不要将令牌提交到 Git 或写入共享 Notebook。
SDK 构造函数接收一个非空 Token 字符串,可以显式传入。将 YOUR_TOKEN 替换为刚刚创建的完整令牌:
from exsdk import ExApi
with ExApi(token="YOUR_TOKEN") as api:
print(api.query_symbols("FUTURE"))可选:通过环境变量传入
EXSDK_TOKEN 只是本教程约定的环境变量名,不是 Python 或 SDK 内置变量。SDK 不会自动创建或读取它;下面由你手动设置,再通过自己的 Python 代码读取并传给 ExApi。运行脚本的进程必须能够继承该变量;在终端设置后,请在同一个终端运行脚本。
Linux / macOS:
export EXSDK_TOKEN='替换为自己的令牌'Windows PowerShell:
$env:EXSDK_TOKEN = '替换为自己的令牌'Python 显式读取并传入:
import os
from exsdk import ExApi
token = os.environ["EXSDK_TOKEN"]
with ExApi(token=token) as api:
print(api.query_symbols("FUTURE"))环境变量不存在时,os.environ["EXSDK_TOKEN"] 会抛出 KeyError,这是本地配置问题,不是 SDK 服务故障。也可以改用自己的变量名,并让设置和读取的名称保持一致。
网络与认证前提
SDK 源码的账户认证地址已统一为 https://skyzhi.com,认证接口为 /api/token/verify,行情服务为 https://api.skyzhi.com。本地运行 exweb 并不自动部署这些域名;需要先将主域名部署到本系统,并使用认证地址已更新的 SDK 安装包。本次源码修改尚未发布为新安装包,已安装的旧包需要在新包发布后更新。不要通过修改 SDK 私有变量绕过认证。
行情和 CTP 柜台连接均要求对应网络可达。CTP 的交易前置、AppID、AuthCode、账号和密码由期货公司提供,全部配置在本地,勿提交至官网。