TradingGym · 安装与验证 · 实测

TradingGym 怎么安装:官方只有源码安装这一条路

TradingGym 没有发布到 PyPI,官方 README 给的路径是 git clone 后执行 python setup.py install。麻烦在于:网上流传的 pip install trading_env 实测不存在,而名字相近的 trading-gym 属于另一个人的项目。本页把三条候选路径、依赖的四个包、以及装完怎么验证一次写清,并附上本机实测的报错原文。

  • 官方路径git clone https://github.com/Yvictor/TradingGym.gitcd TradingGympython setup.py install
  • 装完自测python -m trading_env.test 本机实测通过(exit 0,用时 0.2658s);注意官方 CI 里的斜杠写法会报错
  • 别装错trading_envtradinggymTradingGymtradinggym-env 在 PyPI 全部 404

TradingGym 三条安装路径是什么?

git clone + setup.py install官方 README 路径,装到当前解释器
pip install -e .改源码做实验时用,改动立即生效
pip install trading_envPyPI 无此包,实测 404
依据官方 README、setup.py 与 PyPI 实测(2026-09-22)绘制,属示意,非官方流程图。右侧第三条是本机实测不存在的路径:trading_env 在 PyPI 返回 404,名字相近的 trading-gym 是另一个项目。TradingGym 与 EasyClaw 无已证实集成。

TradingGym · 安装路径

TradingGym 安装路径对照是什么?哪条能用、哪条会装错

官方 README 的「Installation」只有三行命令,但社区文章里出现的 pip install trading_env 并不存在。下表把可用的与不可用的路径分开,并标出每条的前置条件。

六条候选安装路径(实测结论标注在「注意点」列,2026-09-22)
路径命令前置条件适用场景注意点
官方源码安装(README 路径)git clone https://github.com/Yvictor/TradingGym.gitcd TradingGympython setup.py installgit、Python、可写入 site-packages第一次安装、按官方文档走装进「当前 python 对应的解释器」;本机多个 Python 并存时最容易装错解释器
可编辑安装(改源码时推荐)python -m pip install -e .(在仓库根目录)pip、setuptools要改 reward、观测列或做实验改动立即生效不必重装;但仍要处理 as_matrix 兼容问题(见「可运行性」页)
按包名 pip 安装pip install trading_env想一步装完实测 PyPI 返回 404,这条命令对应的包不存在,网上教程里的写法不可照抄
按相似名 pip 安装pip install trading-gym搜到「trading gym」就装实测存在但属于另一个项目(0.1.8,作者 mymusise、仓库 mymusise/Trading-Gym),与本项目无隶属关系
猜其它包名pip install tradinggym / TradingGym / tradinggym-env三个名字实测全部 404,不要凭名字猜
从仓库归档包安装下载 zip → 解压 → 在解压出的仓库根目录执行 python -m pip install .无 git,但需要能联网装依赖机器上没有 git内容与 master HEAD 一致(08bb534);仓库未发布任何 sdist/wheel,所以只能从源码装
一句话判断法:能装的只有「源码」这一条。凡是告诉你 pip install 一行搞定的教程,要么笔误,要么装的是同名另一个项目;装完务必用下面的三步验证确认导入路径。

TradingGym · 同名包实测

PyPI 上到底有没有 TradingGym?六个包名的实测结果

「装错了包」是这类小众仓库最常见的坑,而且症状很隐蔽——import trading_env 居然成功了,但装的是别人的东西。下表是查询 PyPI JSON 接口得到的原始结果。

PyPI 包名实测(2026-09-22 查询 https://pypi.org/pypi/<name>/json
包名实测结果真实身份适用场景注意点
trading_envHTTP 404不存在这正是本项目的包名(setup.pyname='trading_env'),但它没有发布到 PyPI
tradinggymHTTP 404不存在小写、无连字符的写法同样查不到
TradingGymHTTP 404不存在大写写法也不例外(PyPI 查询本身不区分大小写,实际就是没有)
tradinggym-envHTTP 404不存在社区里常见的「项目名 + env」猜法在这里不成立
trading-gym存在,最新 0.1.8另一个项目:作者 mymusise,主页 github.com/mymusise/Trading-Gym只在确认自己要的就是该项目时才装与本项目(Yvictor/TradingGym)无隶属关系,装上后 API 与文档全部不同
gym-tradingHTTP 404不存在「顺序颠倒」的猜法也不存在
查询方式是 PyPI 官方 JSON 接口,属于公开元数据。以上是 2026-09-22 的快照,PyPI 状态可能随后变化——装之前再确认一次包名与作者,比事后 debug 便宜得多。本项目自身没有发布包,所以「版本」这一栏对它永远只能是仓库提交号(当前 08bb534)。

TradingGym · 依赖与版本

TradingGym 要装哪些依赖?四个必装包、一个容易漏的包

setup.py 声明的依赖是 pandasnumpymatplotlibcolour;但 README 的示例代码用到了 pd.read_hdf(),那需要 PyTables——它不在依赖清单里,是本项目最容易漏掉的一项。

依赖逐项核对(来源:setup.py 原文 + 各环境文件的 import 语句 + 本机实测)
依赖是否在 install_requires作用与触发点适用场景注意点
pandas承载行情 DataFrame,并由 Series.as_matrix()(v0 系与 backtest_v1)或 to_numpy()(training_v1)转成数组任何环境pandas 1.0 起移除 as_matrix(),四支环境里三支会因此报错(本机实测)
numpy数组切片、持仓数组、np.random 抽日任何环境版本未约束;本机实测 numpy 2.4.6 可跑
matplotlib四个环境文件的顶层 import,render() 用它画行情、持仓与收益要看可视化时才真正用到即使不调 render() 也得装——它是模块级 import,缺了直接 import 失败
colourtraining_v1backtest_v1 里的 from colour import Color,用于渲染渐变色任何 import trading_env 的场合因为 envs/__init__.py 一次性 import 四个环境,缺 colour 会让整个包 import 失败
tables(PyTables)README 的 pd.read_hdf('dataset/SGXTW.h5','STW') 需要它按 README 读 h5 样例数据不在依赖清单里;不想装就用官方自测的 CSV 路径 trading_env/test/data/SGXTWsample.csv
Python 版本未声明(setup.pypython_requires官方 CI 只覆盖 Python 3.4 / 3.5 / 3.6(.travis.yml);本机在 3.11.9 上跑通了官方自测,但这是实测结论、不是官方承诺
操作系统未声明代码里没有 OS 分支Windows / Linux / macOS本机 Windows 实测通过;路径与编码类问题见下一节
还有一处与「能不能照抄 README」有关的事实:README 的示例写 pd.read_hdf('dataset/SGXTW.h5','STW'),而仓库里 dataset/ 下实际的文件名是 SGXTWsample.h5(本机文件树实读)。路径对不上会直接 FileNotFoundError,所以第一次跑建议先用官方自测那份 CSV。以上均以仓库内实际文件与源码为准。

TradingGym · 安装与验证

TradingGym 怎么装好并验证?从 clone 到跑通官方自测

这三步在本机实测通过(Windows + Python 3.11.9)。第三步是本页的关键:它能在你写任何代码之前就告诉你「装的是哪一份、依赖齐不齐」。

第 1 步 · 克隆并安装到当前解释器

git clone https://github.com/Yvictor/TradingGym.git
cd TradingGym
python -m pip install -e .      # 官方 README 写的是 python setup.py install,二者都能装
python -c "import trading_env, os; print(os.path.dirname(trading_env.__file__))"

python -m pip 而不是裸 pip,能保证装进你正在使用的那个解释器;最后一行打印的路径应该指向你刚 clone 的目录。

预期输出:路径指向你 clone 的 TradingGym 目录(例如 D:\src\TradingGym\trading_env),不是 site-packages 下的陌生目录。

第 2 步 · 确认四支环境都注册上了

import trading_env
print(trading_env.available_envs())

这一步同时验证了四个依赖是否齐全——因为包入口会一次性 import 四个环境文件,缺 colourmatplotlib 会在这里就报 ModuleNotFoundError,而不是等到你调用 reset()

预期输出:['training_v0', 'training_v1', 'backtest_v0', 'backtest_v1'](本机实测结果)。

第 3 步 · 跑官方自测(注意命令写法)

python -m trading_env.test      # 正确:点号分隔
python -m trading_env/test      # 错误:官方 .travis.yml 里的斜杠写法

官方自测会在仓库自带样例数据上随机抽一个交易日,用随机动作跑最多 500 步。它的数据路径是相对路径,所以必须在仓库根目录执行。

预期输出:正确写法打印抽到的交易日与耗时(本机实测 2013-04-19、用时 0.2658s,exit 0);斜杠写法报 No module named trading_env/test

为什么第 3 步要特别点出写法?因为官方 .travis.yml 里写的是 python -m trading_env/test,照抄会直接失败(本机实测报错原文:No module named trading_env/test)。这是「CI 配置本身早已失效」的一个证据——Travis 开源版已停服,仓库 HEAD 也停在 2023-08-12。

TradingGym · 环境排错

TradingGym Windows 与常见环境问题是什么?六类报错的成因与处理

这一节只列「安装阶段」能遇到的问题;reset() 之后的口径问题(reward、账本、space 声明)在「可运行性」与「奖励与基准」两页。每条都给现象、原因、处理三件套。

安装与导入阶段的六类问题(含本机实测的报错原文)
现象原因处理适用场景注意点
ModuleNotFoundError: No module named 'trading_env'装到了另一个 Python 解释器,或虚拟环境没激活统一用 python -m pip install -e .;再用 python -c "import trading_env, os; print(os.path.dirname(trading_env.__file__))" 确认导入路径机器上有多个 Python / 多个 venvpippython -m pip 可能指向不同解释器,这是最常见的坑
ModuleNotFoundError: No module named 'colour'colour 未装成功(镜像缺包、离线环境)单独 python -m pip install colour 后重试 import公司内网/离线机器它被 training_v1backtest_v1 顶层 import,缺了会让整个 import trading_env 失败
ImportError / 提示缺少 PyTables(调用 read_hdf 时)pd.read_hdf() 需要 PyTables,而它不在 install_requirespython -m pip install tables;或改用官方自测用的 CSV:trading_env/test/data/SGXTWsample.csv按 README 读 h5 样例不装也能用本项目,只要不调 read_hdf
FileNotFoundError(读 dataset/SGXTW.h5README 示例的文件名与仓库实际文件名不一致改用仓库里真实存在的 dataset/SGXTWsample.h5trading_env/test/data/SGXTWsample.csv第一次跑 README 的 Getting Started以仓库文件树为准;README 存在年久未更新的示例
No module named trading_env/test使用了官方 CI 里的斜杠写法改成 python -m trading_env.test(本机实测 exit 0)跑官方自测-m 只接受模块路径,用点号分隔
AttributeError: 'Series' object has no attribute 'as_matrix'代码写于 pandas 0.2x 年代,as_matrix() 在 pandas 1.0 被移除加两行映射补丁(pd.Series.as_matrix = lambda self: self.to_numpy(),DataFrame 同理),或使用 pandas<1.0 的老环境training_v0 / backtest_v0 / backtest_v1reset()这是运行期报错,装得再好也会遇到;补丁细节见「可运行性」页
路径含中文或空格时安装脚本报路径语法错误命令行参数与编码处理(本机 cmd.exe 环境实测)把仓库放在纯 ASCII 路径下,并在命令行先 chcp 65001 切到 UTF-8 再执行Windows 中文系统本机实测环境即按此配置;换个纯英文路径通常最省事
另有一条与权限有关:python setup.py install 会把包写进当前解释器的 site-packages,在受管或共享机器上可能因权限失败;遇到时优先用虚拟环境(下一节),而不是去提升权限。

TradingGym · 隔离与卸载

TradingGym 用虚拟环境隔离:怎么装、怎么确认装的是哪一份、怎么卸干净

本项目 HEAD 停在 2023-08-12、依赖未约束版本,装进系统环境很容易和别的项目互相干扰。建议一个仓库一个虚拟环境,装与卸都以「导入路径」为准来判断。

隔离与卸载操作对照(命令在仓库根目录执行)
场景命令说明注意点
创建隔离环境python -m venv .venv在仓库同级或内部建一个独立解释器环境建议放在纯 ASCII 路径下
激活(Windows cmd).venv\Scripts\activate.bat激活后 python 指向该环境PowerShell 用 .venv\Scripts\Activate.ps1
在环境内安装python -m pip install -e .可编辑安装,改源码立即生效若要走官方 README 路径,则用 python setup.py install,但它装进的是该环境的 site-packages,不带可编辑特性
确认装的是哪一份python -c "import trading_env, os; print(os.path.dirname(trading_env.__file__))"打印真实导入路径,这是唯一可靠的判据路径必须指向你的仓库;指向别处说明装的是另一个包或另一个环境
查是否被 pip 登记python -m pip list(找 trading_envpip 安装的会出现在列表里setup.py install 属旧式安装,不一定出现在 pip list 里——别据此判断有没有装上
卸载python -m pip uninstall trading_envpip 登记过时可正常卸载旧式安装卸载不干净时,手动清理 site-packages 下的 trading_envtrading_env-0.0.1dev0 开头的 egg-info/egg-link,具体路径视安装方式而定
一次性清干净删除 .venv 目录后重建环境级回滚,最省事记得把仓库里的改动先提交,否则会随环境一起丢
版本口径提醒:setup.pyversion='0.0.1dev0',但没有发布到 PyPI,所以「装了哪个版本」实际等于「你 clone 到哪个提交」。本页全部实测基于 master HEAD 08bb534(2023-08-12)。

TradingGym · FAQ

TradingGym 安装常见问题是什么?

TradingGym 可以用 pip install trading_env 装吗?

不行。实测本机查询 PyPI,trading_env 返回 HTTP 404,说明这个包名没有被发布;同样 404 的还有 tradinggymTradingGymtradinggym-env。官方 README 给的唯一路径是 git clone 后执行 python setup.py install。若你已经在某篇文章里看到 pip 写法,请以官方 README 与 PyPI 当前状态为准。

那 pip install trading-gym 装到的是什么?

是另一个项目。实测 PyPI 上 trading-gym 存在(最新 0.1.8),但作者是 mymusise、主页指向 github.com/mymusise/Trading-Gym,与 Yvictor/TradingGym 没有隶属关系,API 与文档也完全不同。装之前用「作者 + 仓库」两个字段核对,比看包名可靠。

装完怎么验证才算成功?

推荐三步:①python -c "import trading_env, os; print(os.path.dirname(trading_env.__file__))" 确认导入路径指向你的仓库;②trading_env.available_envs() 应返回 ['training_v0','training_v1','backtest_v0','backtest_v1'];③在仓库根目录执行 python -m trading_env.test,本机实测 exit 0、用时 0.2658s。注意命令是点号而不是斜杠,官方 CI 配置里的斜杠写法会报 No module named trading_env/test。以上以官方仓库实际代码为准。

Python 3.12 / 3.13 能装吗?

本项目没有声明支持的 Python 版本(setup.py 里没有 python_requires),官方 CI 只覆盖过 Python 3.4 / 3.5 / 3.6,且该 CI(.travis.yml)依赖的 Travis 开源版已停服。本机在 3.11.9 上跑通了官方自测,但这是实测结论、不是官方承诺;更高版本请以你本机实跑结果为准,遇到依赖不兼容时优先考虑 venv 隔离一个较老的 3.11 环境。

Windows 上会遇到哪些额外问题?

本机实测在 Windows 上可正常安装与自测。常见额外问题有三类:①多个 Python 并存导致装错解释器(统一用 python -m pip 并检查导入路径);②路径含中文或空格时命令行参数处理出问题(cd 进目录再用相对脚本名、并先 chcp 65001 可规避);③python setup.py install 写入系统 site-packages 时可能权限不足(改用虚拟环境)。具体以本机实跑为准。

setup.py install 和 pip install -e . 该选哪个?

只读源码、按官方文档走,用 README 写的 python setup.py install;要改 reward、观测列或做实验,用 python -m pip install -e .(可编辑安装,改完不必重装,且更明确地绑定到当前解释器)。两种方式都不解决 as_matrix 兼容问题——那是运行期的事,需要额外两行补丁,见「可运行性」页。选择建议以官方 README 与你的用途为准。

下一步该怎么做?装好之后先核验哪个环境能跑

四支环境在当前 pandas 上的实测结果、报错原文与两行兼容补丁都在这一页,先看它再去写代码能省掉大半排错时间。