跳转到内容

进入 Python 源码目录

安装或更新 TWS API 的 Python client 时,真正要进入的不是 TWS 交易软件的安装目录,而是官方 TWS API 包里的 Python 源码目录。

这个目录通常叫:

source/pythonclient

Windows 上显示为:

source\pythonclient

很多新手会把 TWS 客户端和 TWS API 包混在一起。它们不是同一个东西:

名称作用是否是本页要进入的目录
TWS / IB Gateway 客户端目录用来登录账户、连接 IBKR 服务器、提供 Socket API 服务。不是
TWS API 安装包目录包含各语言示例代码、Python client、Java/C++/C# 源码和测试文件。
source/pythonclient官方 Python client 源码和安装入口。

如果只安装了 TWS 或 IB Gateway,没有安装 TWS API 包,就找不到 source/pythonclient

在 Windows 上,先找到你安装或解压 TWS API 的位置。常见位置可能是:

C:\TWS API
D:\TWS API

不要直接照抄路径。应以你电脑里的实际位置为准。

进入目录时,路径里有空格必须加引号:

Terminal window
cd "D:\TWS API\source\pythonclient"

进入后查看文件:

Terminal window
dir

如果目录正确,通常能看到这些内容:

文件或目录作用
setup.pyPython client 的安装脚本,下一步会用它安装 ibapi
ibapi官方 Python 包源码,里面包含 EClientEWrapperContractOrder 等模块。
tests官方测试或示例相关文件。
README.md官方 Python client 说明。
MANIFEST.inPython 打包配置文件。

如果官方 API 包位于 D:\TWS API,该目录下通常应存在:

D:\TWS API\source\pythonclient\setup.py
D:\TWS API\source\pythonclient\ibapi
D:\TWS API\source\pythonclient\tests

这只是示例,不代表所有电脑都必须使用 D 盘。

macOS / Linux 通常是下载 API 包后解压,再进入解压目录中的 source/pythonclient

示例写法:

Terminal window
API_ROOT="/path/to/TWS API"
cd "$API_ROOT/source/pythonclient"

例如:

Terminal window
cd "$HOME/IBJts/source/pythonclient"

或者:

Terminal window
cd "$HOME/Downloads/twsapi/source/pythonclient"

不同版本、不同安装方式的目录名称可能不同,关键不是目录名本身,而是最后必须进入包含 setup.pyibapipythonclient 目录。

进入目录后,不要急着安装。先确认所在目录确实包含 setup.py

Windows:

Terminal window
dir setup.py
dir ibapi

macOS / Linux:

Terminal window
test -f ./setup.py && echo "setup.py exists"
test -d ./ibapi && echo "ibapi directory exists"

如果两个检查都通过,说明目录基本正确。

也可以直接查看所在目录:

Terminal window
cd
dir

macOS / Linux:

Terminal window
pwd
ls

下一步安装命令通常会在这个目录执行:

Terminal window
python -m pip install .

这里的点号 . 代表“这个目录”。如果你不在 source/pythonclient 目录里运行,pip 就找不到正确的 setup.py,会出现类似问题:

现象常见原因
Directory '.' is not installable所在目录没有 setup.pypyproject.toml
No such file or directory: setup.py进入了错误目录,或 TWS API 包不完整。
安装成功但脚本仍然找不到 ibapi安装时使用的 Python 和运行脚本时使用的 Python 不是同一个。

所以这一页的目标只有一个:先站到正确目录里。安装命令放到下一页再执行。

  1. 确认已经下载并安装或解压 TWS API 包。
  2. 找到 API 包根目录。
  3. 进入 source/pythonclient
  4. 确认所在目录存在 setup.py
  5. 确认所在目录存在 ibapi 文件夹。
  6. 再执行下一页的安装命令。
问题处理方式
找到了 TWS,但找不到 source 目录你可能只安装了交易客户端,还没有安装 TWS API 包。
路径里有空格,cd 失败给完整路径加双引号。
setup.py 不存在所在目录不对,回到 API 包根目录重新找 source/pythonclient
Windows 上路径和教程不同以你自己的安装位置为准,教程里的盘符只是示例。
Linux 服务器上没有图形界面不影响安装 Python client,但 TWS / IB Gateway 登录和 API 设置仍需要图形会话或远程桌面。
  • IBKR TWS API Documentation:官方在 Updating The Python Interpreter 主题中要求先进入 Python API 源码目录,再运行安装脚本。