Error in heroku [regex._regex_core.error: bad escape \d at position 7] when using python-binance
Error in heroku [regex._regex_core.error: bad escape \d at position 7] when using python-binance
我尝试在 Heroku 上上传我的 python 代码(Binance 交易机器人),但出现错误。有人可以帮帮我吗?
from binance.client import Client
from datetime import datetime
client = Client(api,key)
symbol = 'IOSTUSDT'
for i in client.futures_historical_klines(symbol, Client.KLINE_INTERVAL_1MINUTE, '2022-03-16'):
print(i)
错误是
2022-03-16T13:37:45.890497+00:00 app[worker.1]: Traceback (most recent call last):
2022-03-16T13:37:45.890552+00:00 app[worker.1]: File "/app/code.py", line 14, in <module>
2022-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'):
2022-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
2022-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)
---here too much text--
2022-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
2022-03-16T13:37:45.894755+00:00 app[worker.1]: relative_translations = self._get_relative_translations(settings=settings)
2022-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
2022-03-16T13:37:45.894912+00:00 app[worker.1]: self._generate_relative_translations(normalize=True))
2022-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
2022-03-16T13:37:45.895085+00:00 app[worker.1]: pattern = DIGIT_GROUP_PATTERN.sub(r'?P<n>\d+', pattern)
2022-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
2022-03-16T13:37:45.895586+00:00 app[worker.1]: is_group, items = _compile_replacement(source, pattern, is_unicode)
2022-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
2022-03-16T13:37:45.896352+00:00 app[worker.1]: raise error("bad escape \%s" % ch, source.string, source.pos)
2022-03-16T13:37:45.896430+00:00 app[worker.1]: regex._regex_core.error: bad escape \d at position 7
我遇到了同样的问题 - 正则表达式库已从 2022.3.2 更新到 2022.3.15。
暂时可以在requirements中设置版本问题会在下个版本修复。
我今天开始遇到完全相同的问题。正如 Olga 提到的,这在 regex 库版本 2022.3.15 发布后开始发生。
我通过检查调用堆栈调查了根本原因,发现 dateparser
库正在使用正则表达式解析日期时间字符串。
我尝试 运行 下面的代码片段也给了我同样的错误。因此我可以定位错误。
dateparser.parse('1 Jan, 2020', settings={'TIMEZONE': "UTC"})
您可以做的只是卸载正则表达式库并安装旧版本。您还可以在 requirements.txt 文件中添加版本。
pip uninstall regex -y
pip install regex==2022.3.2
正则表达式的详细版本library。
现在 dateparser==1.1.1
的 new version 是 regex
软件包更新的原因。升级到最新版本的 dateparser
解决了我的问题。
我尝试在 Heroku 上上传我的 python 代码(Binance 交易机器人),但出现错误。有人可以帮帮我吗?
from binance.client import Client
from datetime import datetime
client = Client(api,key)
symbol = 'IOSTUSDT'
for i in client.futures_historical_klines(symbol, Client.KLINE_INTERVAL_1MINUTE, '2022-03-16'):
print(i)
错误是
2022-03-16T13:37:45.890497+00:00 app[worker.1]: Traceback (most recent call last):
2022-03-16T13:37:45.890552+00:00 app[worker.1]: File "/app/code.py", line 14, in <module>
2022-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'):
2022-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
2022-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)
---here too much text--
2022-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
2022-03-16T13:37:45.894755+00:00 app[worker.1]: relative_translations = self._get_relative_translations(settings=settings)
2022-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
2022-03-16T13:37:45.894912+00:00 app[worker.1]: self._generate_relative_translations(normalize=True))
2022-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
2022-03-16T13:37:45.895085+00:00 app[worker.1]: pattern = DIGIT_GROUP_PATTERN.sub(r'?P<n>\d+', pattern)
2022-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
2022-03-16T13:37:45.895586+00:00 app[worker.1]: is_group, items = _compile_replacement(source, pattern, is_unicode)
2022-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
2022-03-16T13:37:45.896352+00:00 app[worker.1]: raise error("bad escape \%s" % ch, source.string, source.pos)
2022-03-16T13:37:45.896430+00:00 app[worker.1]: regex._regex_core.error: bad escape \d at position 7
我遇到了同样的问题 - 正则表达式库已从 2022.3.2 更新到 2022.3.15。 暂时可以在requirements中设置版本问题会在下个版本修复。
我今天开始遇到完全相同的问题。正如 Olga 提到的,这在 regex 库版本 2022.3.15 发布后开始发生。
我通过检查调用堆栈调查了根本原因,发现 dateparser
库正在使用正则表达式解析日期时间字符串。
我尝试 运行 下面的代码片段也给了我同样的错误。因此我可以定位错误。
dateparser.parse('1 Jan, 2020', settings={'TIMEZONE': "UTC"})
您可以做的只是卸载正则表达式库并安装旧版本。您还可以在 requirements.txt 文件中添加版本。
pip uninstall regex -y
pip install regex==2022.3.2
正则表达式的详细版本library。
现在 dateparser==1.1.1
的 new version 是 regex
软件包更新的原因。升级到最新版本的 dateparser
解决了我的问题。