使用 python-binance 时,heroku [regex._regex_core.error: bad escape \d atposition 7] 出现错误

An *_* Ri 10 python-3.x binance binance-api-client

我尝试在 Heroku 上上传我的 python 代码(Binance trade-bot),但出现错误 o\xd1\x81\xd1\x81ured。有人可以帮我吗?

\n
from binance.client import Client\nfrom datetime import datetime\n\nclient = Client(api,key)\nsymbol = 'IOSTUSDT'\n\nfor i in client.futures_historical_klines(symbol, Client.KLINE_INTERVAL_1MINUTE, '2022-03-16'):\n    print(i)\n
Run Code Online (Sandbox Code Playgroud)\n

错误是

\n
2022-03-16T13:37:45.890497+00:00 app[worker.1]: Traceback (most recent call last):\n2022-03-16T13:37:45.890552+00:00 app[worker.1]:   File "/app/code.py", line 14, in <module>\n2022-03-16T13:37:45.890743+00:00 app[worker.1]:     for i in client.futures_historical_klines(symbol, Client.KLINE_INTERVAL_1MINUTE, '2022-03-16'):\n2022-03-16T13:37:45.890758+00:00 app[worker.1]:   File "/app/.heroku/python/lib/python3.9/site-packages/binance/client.py", line 5709, in futures_historical_klines\n2022-03-16T13:37:45.892661+00:00 app[worker.1]:     return self._historical_klines(symbol, interval, start_str, end_str=end_str, limit=limit, klines_type=HistoricalKlinesType.FUTURES)\n\n---here too much text--\n\n2022-03-16T13:37:45.894613+00:00 app[worker.1]:   File "/app/.heroku/python/lib/python3.9/site-packages/dateparser/languages/locale.py", line 131, in translate\n2022-03-16T13:37:45.894755+00:00 app[worker.1]:     relative_translations = self._get_relative_translations(settings=settings)\n2022-03-16T13:37:45.894769+00:00 app[worker.1]:   File "/app/.heroku/python/lib/python3.9/site-packages/dateparser/languages/locale.py", line 158, in _get_relative_translations\n2022-03-16T13:37:45.894912+00:00 app[worker.1]:     self._generate_relative_translations(normalize=True))\n2022-03-16T13:37:45.894927+00:00 app[worker.1]:   File "/app/.heroku/python/lib/python3.9/site-packages/dateparser/languages/locale.py", line 172, in _generate_relative_translations\n2022-03-16T13:37:45.895085+00:00 app[worker.1]:     pattern = DIGIT_GROUP_PATTERN.sub(r'?P<n>\\d+', pattern)\n2022-03-16T13:37:45.895100+00:00 app[worker.1]:   File "/app/.heroku/python/lib/python3.9/site-packages/regex/regex.py", line 700, in _compile_replacement_helper\n2022-03-16T13:37:45.895586+00:00 app[worker.1]:     is_group, items = _compile_replacement(source, pattern, is_unicode)\n2022-03-16T13:37:45.895600+00:00 app[worker.1]:   File "/app/.heroku/python/lib/python3.9/site-packages/regex/_regex_core.py", line 1736, in _compile_replacement\n2022-03-16T13:37:45.896352+00:00 app[worker.1]:     raise error("bad escape \\\\%s" % ch, source.string, source.pos)\n2022-03-16T13:37:45.896430+00:00 app[worker.1]: regex._regex_core.error: bad escape \\d at position 7\n
Run Code Online (Sandbox Code Playgroud)\n

Meh*_*KOÇ 17

我今天开始遇到完全相同的问题。正如 Olga 提到的,这种情况在正则表达式库 2022.3.15 版本发布后开始发生。

我通过检查调用堆栈调查了根本原因,我发现该dateparser库正在使用正则表达式来解析日期时间字符串。

我尝试仅运行下面的代码片段,它也给了我同样的错误。因此我可以定位错误。

dateparser.parse('1 Jan, 2020', settings={'TIMEZONE': "UTC"})
Run Code Online (Sandbox Code Playgroud)

您可以做的只是卸载正则表达式库并安装旧版本。您还可以在requirements.txt 文件中添加版本。

pip uninstall regex -y
pip install regex==2022.3.2
Run Code Online (Sandbox Code Playgroud)

有关正则表达式库的详细版本。


小智 12

我遇到了同样的问题 - 正则表达式库已从 2022.3.2 更新到 2022.3.15。您可以在需求中设置版本,暂时问题将在下一个版本中修复。


PAp*_*tol 7

现在有新版本dateparser==1.1.1regex更新。升级到最新版本dateparser为我解决了这个问题。

  • `dateparser==1.1.1` 仍然需要 `regex==2022.3.2`。与“regex==2022.6.2”相同的错误。请参阅穆罕默德的回答(/sf/answers/5005294941/) (2认同)