On-Tick 回调未在 Python 虚拟环境中执行

问题描述 投票:0回答:1

On-Tick 回调不在 Python 虚拟环境中执行,但在本地环境中工作,这是什么问题。

类命令(基本命令):

def handle(self, *args: Any, **options: Any):

    api_key = ""
    api_secret = ""
    session_token = ""

    print("Connecting to Breeze")
    breeze = BreezeConnect(api_key="")
    print("WebSocket connected successfully")

    breeze.generate_session(api_secret="", session_token="")

    breeze.ws_connect()
    print("WebSocket connected successfully")
    def on_ticks(ticks):
        print("Ticks: {}".format(ticks))

    breeze.on_ticks = on_ticks

    breeze.subscribe_feeds(exchange_code="NFO", stock_code="ADAENT", product_type="options",
                    expiry_date="28-Dec-2023", strike_price="3000", right="Call",
                    get_exchange_quotes=True, get_market_depth=False)
    
    print("Subscribed to ADAENT options")

    breeze.ws_disconnect()
    print("Disconnected from WebSocket")

我有一个位于 management/commands 文件夹中的 Django 管理命令。当我在虚拟环境中使用 python3 manage.py file_name 运行此文件时,不会调用 on_ticks 回调函数,并且不会打印任何数据。但是,该代码在我的本地环境中运行良好。虚拟环境在文件执行期间处于活动状态,并且安装了所有必需的包。什么可能导致 on_ticks 函数不在虚拟环境中执行?

当我在虚拟环境中运行此脚本时,将调用 on_ticks 回调函数并打印 on_ticks 数据。

python django api websocket breeze
1个回答
0
投票

激活 venv 后,您是否重新安装了您使用的软件包?

© www.soinside.com 2019 - 2024. All rights reserved.