You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

CCXT poloniex实例作为类属性调用失效 函数局部变量可正常运行咨询

问题原因排查

1. API凭证配置遗漏(最高概率)

你贴出的类初始化代码仅创建了ccxt.poloniex()实例,未给实例赋值apiKey和secret鉴权凭证,而你局部变量的写法里明确完成了凭证赋值。fetch_deposit_address属于需要鉴权的私有接口,没有合法凭证自然会调用失败。
正确初始化示例:

def __init__(self, api_key, api_secret):
    self.__poloniex = ccxt.poloniex()
    self.__poloniex.apiKey = api_key
    self.__poloniex.secret = api_secret
    # 可选配置:开启请求限流避免触发平台频率限制
    self.__poloniex.enableRateLimit = True

2. Python私有属性名称改写特性导致的调用异常

Python中双下划线__开头的类属性会触发自动名称改写(name mangling),改写规则为_类名__属性名:

  • 类内部方法直接调用self.__poloniex属于合法操作,不会有问题
  • 如果是在类外部直接访问实例.__poloniex,会直接提示属性不存在
  • 如果是在子类中调用self.__poloniex,Python会改写为_子类名__poloniex,无法匹配父类定义的_父类名__poloniex属性
    如果你的调用场景符合后两种情况,可以把双下划线改为单下划线_poloniex(Python约定的私有属性,不会触发名称改写),或者直接使用公共属性即可。

3. CCXT实例初始化配置缺失

排除前两个问题后,可排查CCXT相关的配置问题:

  • 局部变量创建实例时可能配置了代理、超时等特殊参数,类初始化时未同步添加相关配置,导致网络请求失败
  • 如果类实例存在多线程/多协程并发调用的场景,CCXT实例本身不是线程安全的,并发调用会导致内部状态异常,触发接口请求失败

结论

该问题基本不属于CCXT库本身的问题,绝大多数情况是配置遗漏或者Python私有属性语法特性导致的,按上述顺序排查即可解决问题。


内容的提问来源于stack exchange,提问作者AndreaVan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 06:15:10