为什么使用 python binance 库时会出现此错误?

问题描述

当我运行我的代码时出现此错误。如果我搜索错误,我只会得到文件名为 binance.py 的结果,这会产生错误,但我将文件命名为 bin_bot.py

错误

Traceback (most recent call last):
  File "bin_bot.py",line 3,in <module>
    from binance.client import Client
ModuleNotFoundError: No module named 'binance'

我的代码

import os

from binance.client import Client

api_key = os.environ.get("My API")
api_secret = os.environ.get("My Secret")

client = Client(api_key,api_secret)

print(client.futures_account_balance())

感谢您的回答。

错误2:

Traceback (most recent call last):
  File "bin_bot.py",line 10,in <module>
    print(client.futures_account_balance())
  File "/usr/local/lib/python3.8/dist-packages/binance/client.py",line 5361,in futures_account_balance
    return self._request_futures_api('get','balance',True,data=params)
  File "/usr/local/lib/python3.8/dist-packages/binance/client.py",line 333,in _request_futures_api
    return self._request(method,uri,signed,**kwargs)
  File "/usr/local/lib/python3.8/dist-packages/binance/client.py",line 306,in _request
    kwargs = self._get_request_kwargs(method,force_params,line 262,in _get_request_kwargs
    kwargs['data']['signature'] = self._generate_signature(kwargs['data'])
  File "/usr/local/lib/python3.8/dist-packages/binance/client.py",line 221,in _generate_signature
    m = hmac.new(self.API_SECRET.encode('utf-8'),query_string.encode('utf-8'),hashlib.sha256)
AttributeError: 'nonetype' object has no attribute 'encode'

解决方法

试试

pip install python-binance

然后当我在 binance 之后删除 .client 时我很幸运。

import os

from binance import Client

api_key = os.environ.get("My API")
api_secret = os.environ.get("My Secret")

client = Client(api_key,api_secret)

print(client.futures_account_balance())

文档 https://python-binance.readthedocs.io/en/latest/

在文档中,他们只调用 bianance,而不是 binance.client。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...