Raspberry Pi Zero에 작성한 Python 스크립트를 실행하려고 하는데 계속 오류가 발생합니다 OverflowError: timestamp out of range for platform time_t
. 나는 이것이 pi의 32비트 ARM 아키텍처의 문제라고 비교적 확신하지만 해결 방법을 찾을 수 없는 것 같습니다.
다음은 추적입니다(대부분 후손을 위한 것입니다. Python이 문제라고 생각하지 않기 때문입니다).
File "twitter.py", line 37, in <module>
t.run.Search(c)
File "/home/pi/.local/lib/python3.7/site-packages/twint/run.py", line 288, in Search
run(config, callback)
File "/home/pi/.local/lib/python3.7/site-packages/twint/run.py", line 209, in run
get_event_loop().run_until_complete(Twint(config).main(callback))
File "/usr/lib/python3.7/asyncio/base_events.py", line 584, in run_until_complete
return future.result()
File "/home/pi/.local/lib/python3.7/site-packages/twint/run.py", line 150, in main
await task
File "/home/pi/.local/lib/python3.7/site-packages/twint/run.py", line 194, in run
await self.tweets()
File "/home/pi/.local/lib/python3.7/site-packages/twint/run.py", line 141, in tweets
await output.Tweets(tweet, self.config, self.conn)
File "/home/pi/.local/lib/python3.7/site-packages/twint/output.py", line 142, in Tweets
await checkData(tweets, config, conn)
File "/home/pi/.local/lib/python3.7/site-packages/twint/output.py", line 116, in checkData
panda.update(tweet, config)
File "/home/pi/.local/lib/python3.7/site-packages/twint/storage/panda.py", line 67, in update
day = weekdays[strftime("%A", localtime(Tweet.datetime))]
OverflowError: timestamp out of range for platform time_t
검색을 좀 해보니 비슷한 질문을 발견했는데, 대부분은 타임스탬프를 직접 변환하는 것에 관한 것인데, 제 문제는 시간을 설정하는 것 같습니다. 문제가 Pi의 가동 시간과 관련이 있는지 확인하기 위해 Pi를 다시 시작하고 즉시 스크립트를 실행해 보았지만 동일한 결과가 반환되었습니다.
위의 모든 것에서 내 결론은 이것이 파이의 ntp 시간 동기화와 관련이 있을 수 있다는 것입니다.
이것은 내 timedatectl status
결과입니다.
Local time: Wed 2020-01-22 17:39:22 EST
Universal time: Wed 2020-01-22 22:39:22 UTC
RTC time: n/a
Time zone: America/New_York (EST, -0500)
System clock synchronized: no
NTP service: inactive
RTC in local TZ: no
시간대 등이 정확해서 솔직히 말해서 여기에 공백을 그립니다. 누구든지 어떤 제안이 있습니까?