【问题标题】:Why do i get this error with the python binance library?为什么我在使用 python binance 库时会出现此错误?
【发布时间】:2021-08-10 22:02:47
【问题描述】:

当我运行我的代码时,我得到了这个错误。如果我搜索此错误,我只会得到文件名为 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, True, **kwargs)
  File "/usr/local/lib/python3.8/dist-packages/binance/client.py", line 306, in _request
    kwargs = self._get_request_kwargs(method, signed, force_params, **kwargs)
  File "/usr/local/lib/python3.8/dist-packages/binance/client.py", 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'

【问题讨论】:

标签: python python-3.x binance binance-api-client


【解决方案1】:

我认为您的系统上同时具有 python2 和 python3。

PIP 已经为 python2 安装了python-binance,并且脚本使用 python3 运行 试试:

python3 -m pip install python-binance

【讨论】:

  • 我确实使用 sudo pip3 install python-binance 安装了 python-binance 库,但我也尝试了你的命令,但我仍然得到同样的错误。感谢您的快速回复。
  • 您要确保您的脚本也与 python3 一起运行,例如python3 file_name.py
  • 我用 sudo python3 bin_bot.py 运行文件
【解决方案2】:

试试

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。

【讨论】:

  • 我试过你的代码,但是当我运行它时,我得到了另一个错误(error2 on question)。
  • 您应该为此使用的正确 API 密钥是什么?你确定你使用的是正确的吗?查看其他帖子,您的密钥似乎没有正确导入。也许看看这个。 accounts.binance.com/en/…
  • 我认为我使用了正确的 api 密钥和 api 密钥。我刚刚在 30 分钟前创建了它们,并且 api 拥有期货的权利。
  • 看看这个帖子,好像这个用户有和你类似的错误。由于我目前没有 Binance API 密钥,因此我无法自己查看。 stackoverflow.com/questions/67106239/…
  • 哦,我找到了问题所在。如果您共享脚本,我正在使用的模板将 API 与 os environ 库一起导入以确保安全。我删除了 os.environ.get 并直接用 API 替换它,现在它工作正常。感谢您的帮助
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-01-29
  • 2021-03-29
  • 1970-01-01
  • 1970-01-01
  • 2019-11-03
  • 1970-01-01
相关资源
最近更新 更多