Обнаружена ошибка "Требуется IB API" при установке IB API

Я пробую этот новый пакет Python ib_insync.

https://github.com/erdewit/ib_insync

Я запустил скрипт на Python ниже;

from ib_insync import *

ib = IB()
ib.connect('127.0.0.1', 7496, clientId=1)

contract = Forex('EURUSD')
bars = ib.reqHistoricalData(contract, endDateTime='', durationStr='30 D', barSizeSetting='1 hour', whatToShow='MIDPOINT', useRTH=True)

# convert to pandas dataframe:
df = util.df(bars)
print(df[['date', 'open', 'high', 'low', 'close']])

Я столкнулся с ошибкой IB API from http://interactivebrokers.github.io is required,

Я уже установил IB API версии 9.73.06 в папку C:\TW_API. Я использую Windows 10 и Anaconda Python v3.6 .

Вот снимок моих настроек TWS API;

введите описание изображения здесь

4 ответа

Решение

Я нашел ответ на свой вопрос. Проблема была в том, что модуль Python ib-api не был установлен в версию Python, которую я использую

README.md найден в C:\TW_API\source\pythonclientСледуя инструкциям, я выполнил следующие команды;

$ python setup.py bdist_wheel
$ python -m pip install --user --upgrade dist/ibapi-9.73.6-py3-none-any.whl

Мой скрипт на Python теперь работает без ошибок.

После установки TWS API найдите папку "TWS API". В этой папке найдите папку с именем "source", затем папку с именем "pythonclient".

Как только вы окажетесь в папке "pythonclient", скопируйте все содержимое и вставьте его в свой рабочий каталог.

Вы больше не должны получать IB API from http://interactivebrokers.github.io is required ошибка снова.

Это общая ошибка, которая возникает, когда интерпретатор Python не может найти модуль, поскольку он не указан в переменной среды PYTHONPATH. Один из вариантов - установить модуль ibapi в качестве колеса. Или, если вы используете IDE, такую ​​как PyCharm, вы можете просто щелкнуть правой кнопкой мыши на папке pythonclient в каталоге проекта в IDE и выбрать "Пометить каталог как источник". Об этом говорится в записанном вебинаре IBKR Python API.

Поскольку программа Python API зависит от конкретной версии API, многим пользователям также нравится использовать виртуальные среды (virtualenv) для организации зависимых от версии зависимостей кода, а не устанавливать все глобально.

Для Windows 10: возможно, по состоянию на февраль 2022 года ни один из вышеупомянутых вариантов не работает. Пожалуйста, попробуйте следующее:

      import sys
sys.path.append("C:\\TWS_API\\source\\pythonclient")
import ibapi

TWS API устанавливается в эту папку: c:\TWS_API

Другие вопросы по тегам