前言
带同事入门期货程序化时,卡在环境上的时间往往比写策略还长:Python 版本不对、pip install tqsdk 超时、第一次 import tqsdk 报错,有人就直接放弃。我这些年装过不少机器,从本机 Windows 到 Linux 云主机,天勤 TqSdk 本身依赖不算重,但前提是把 Python 版本、镜像源和示例路径这三件事先对齐。
下面按「安装前检查 → pip 安装 → 首次 import 验证 → 示例在哪 → 常见报错」写一套可照着做的流程。代码只放在必须落地的验证环节,其余用清单说明,方便你少踩坑、尽快跑到 get_quote 那一步。
一、安装前先确认 Python 版本
TqSdk 对 Python 版本有要求,以你安装时官方 intro.rst 或 quickstart.rst 写的为准。实操里常见问题是:系统里同时有 Python 3.8 和 3.11,终端里 python 指向旧版,pip 却装到了另一个环境。
建议在项目目录建虚拟环境,避免和全局包冲突:
text
python -m venv .venv
# Windows
.venv\Scripts\activate
# Linux / macOS
source .venv/bin/activate
python -V
pip -V
python -V 打印的版本应在官方支持范围内。若版本不符,先换 Python 再装 TqSdk,不要强行升级已跑通的旧策略环境,除非你愿意整包回归测试。
二、pip 安装与国内镜像
默认 pip install tqsdk 在部分网络下会很慢或中断。国内环境可临时指定镜像,例如:
bash
pip install tqsdk -i https://pypi.tuna.tsinghua.edu.cn/simple
安装完成后用 pip show tqsdk 看版本号,建议在新项目里把版本写进 requirements.txt,避免同事机器上各装各的导致 API 行为不一致。
| 步骤 | 做什么 | 通过标准 |
|---|---|---|
| 1 | 激活虚拟环境 | which python 指向 venv |
| 2 | pip install tqsdk |
无报错结束 |
| 3 | pip show tqsdk |
能看到版本与路径 |
| 4 | python -c "import tqsdk" |
无 ImportError |
三、首次 import 与最小连通
环境装妥后,不要立刻跑复杂策略。先确认包能导入、认证类能构造(账户密码换成你自己的快期账户):
python
from tqsdk import TqApi, TqAuth, TqSim
api = TqApi(TqSim(), auth=TqAuth("账户", "密码"))
q = api.get_quote("SHFE.rb2510")
while True:
api.wait_update()
if api.is_changing(q, "datetime"):
print(q.datetime, q.last_price)
break
api.close()
若这里能持续打印时间和最新价,说明安装、认证、行情订阅三条链都通了。若 import 就失败,把完整报错贴出来对照下一节,不要先改策略逻辑。
四、官方示例在哪里
很多人装好后不知道示例代码在哪。安装包内一般有 demo 目录,路径类似:
text
site-packages/tqsdk/demo/
可在 Python 里查:
python
import tqsdk, os
print(os.path.dirname(tqsdk.__file__))
把该目录下的 strategy、快速入门相关脚本复制到自己的项目里改,比在网页上零散抄片段更不容易漏 wait_update。IDE 里若配置了错误的解释器,会出现「编辑器里红线但命令行能跑」的假象,解释器应选虚拟环境里的 Python。
五、常见安装与启动报错
ImportError / ModuleNotFoundError
多半是未激活 venv,或 pip 装到了别的 Python。用 python -m pip install tqsdk 确保和运行脚本的是同一个解释器。
认证或连接类报错
安装本身没问题,是 TqAuth 账户密码、网络或权限。先区分「包没装上」和「连不上服务器」,后者按快期账户文档排查,不要反复重装 TqSdk。
Windows 路径含中文
个别环境下工作目录或用户名含中文会导致日志、配置读写异常,项目路径尽量用英文。
Linux 服务器缺依赖
极少见缺少系统库,按报错搜索;多数情况仍是 Python 版本或防火墙出站限制。
总结
天勤 TqSdk 环境问题的关键,是把 Python 版本、虚拟环境、pip 安装和首次 get_quote 验证分开做,一步通过再进入策略开发。安装阶段不必追求最新版 Python,而要追求与文档一致、与团队 requirements.txt 一致。
建议在全新目录按本文走通最小脚本后,再拷贝历史策略;换电脑或上云主机时,重复「venv → pip → import → 一行行情」四步,比直接跑大策略更容易定位是环境还是代码问题。
FAQ
1)必须用 Anaconda 吗?
不必,官方示例以 pip + 标准 venv 为主;若你用 Conda,确保创建的环境 Python 版本符合要求即可。
2)升级 TqSdk 后旧代码报错?
先看 version.rst 变更说明,在模拟盘跑官方 demo 再回归自己的策略。
3)公司内网 pip 不可用?
用内网 PyPI 镜像或离线 wheel 包,由运维统一分发版本。
4)Jupyter 里装好了但内核不对?
Notebook 要选对应 venv 的 kernel,否则仍是旧环境。
风险提示
本文用于期货量化技术环境配置说明,不构成投资建议。账户与网络策略请按机构安全规范执行。