2017-05-14 21 views
1

트위터 봇이 저의 라스베리 파이에서 실행됩니다. 나는 대부분의 함수가 try/except로 감싸 져있어 에러가 발생해도 프로그램을 중단시키지 않고 계속 실행되도록합니다.트위터 봇과 파이썬으로 트위피 문제가 발생했습니다.

나는 또한 로봇이 리트 웨트하기를 원하는 태그를 모니터링하는 소스로 파이썬의 스트리밍 라이브러리를 사용하고있다.

Unhandled exception in thread started by <function startBot5 at  0x762fbed0> 
Traceback (most recent call last): 
    File "TwitButter.py", line 151, in startBot5 
    '<botnamehere>' 
    File "/home/pi/twitter/bots/TwitBot.py", line 49, in __init__ 
    self.startFiltering(trackList) 
    File "/home/pi/twitter/bots/TwitBot.py", line 54, in startFiltering 
    self.myStream.filter(track=tList) 
    File "/usr/local/lib/python3.4/dist-packages/tweepy/streaming.py", line 445, in filter 
    self._start(async) 
    File "/usr/local/lib/python3.4/dist-packages/tweepy/streaming.py", line 361, in _start 
    self._run() 
    File "/usr/local/lib/python3.4/dist-packages/tweepy/streaming.py", line 294, in _run 
    raise exception 
    File "/usr/local/lib/python3.4/dist-packages/tweepy/streaming.py", line 263, in _run 
    self._read_loop(resp) 
    File "/usr/local/lib/python3.4/dist-packages/tweepy/streaming.py", line 313, in _read_loop 
    line = buf.read_line().strip() 
AttributeError: 'NoneType' object has no attribute 'strip' 

내 설치가 : 내가 부모 클래스 TwitButter.py을 가지고, 그이를 만들고 여기에

내가 주요 기능은 시도에 싸여하고 있지만 제외/프로그램을 죽인다 발생하는 문제입니다 TwitBot.py의 개체. 이러한 객체는 봇이며 독립적으로 실행할 수 있도록 자체 스레드에서 시작됩니다.

저는 StartFiltering() 함수를 실행하는 TwitBot 함수가 있습니다. try/except로 감싸지 만 예외 코드는 실행되지 않습니다.

내 생각 엔 스트리밍 라이브러리에서 오류가 발생했다는 것입니다. 어쩌면 해당 라이브러리가 잘못 코딩되어 추적 표시의 맨 아래에 지정된 행에서 중단됩니다.

도움이 될 것입니다. 다른 사람들이이 문제를 경험했는지 궁금합니다.

필요한 경우 추가 정보를 제공 할 수 있습니다.

감사합니다 !!!

+1

[github # 870] (https://github.com/tweepy/tweepy/pull/870)에서 수정되었으므로 tweepy 사본을 업데이트 하시겠습니까? –

+1

큰 감사합니다 !!! 나는 모든 것이 좋도록 변화를 만들었습니다! 빠른 답변에 감사드립니다! 그리고 멍청한 놈입니다. 나는이 라이브러리들을 수정할 수 있다는 것을 알지 못했습니다 ... – Discoveringmypath

+0

@gz 질문에 대답하고 싶습니다. 그래서 받아 들일 수 있습니다. 그것은 효과가있는 것처럼 보입니다. – Discoveringmypath

답변

3

실제로 이것은 tweepy에서 2017-04에 github #870으로 수정 된 문제입니다. 따라서 로컬 복사본을 최신 마스터로 업데이트하여 해결해야합니다. 나는 그것을 발견하기 위해 무슨 짓을

:

  • 는 tweepy 소스의 repo를 찾기 위해 웹 검색을했다.
  • 마지막 추적 라인의 컨텍스트는 streaming.py입니다.
  • 파일에 대한 가장 최근의 변경 사항이 동일한 문제점 이었음을 알 수 있습니다.

은 또한 당신이 깊은 파이썬 라이브러리 내부에서 역 추적을 얻을 대부분의 시간이 문제가 아니라 라이브러리의 버그보다, 잘못을 호출하는 코드에서 유래 있습니다 것입니다. 하지만 항상 그런 것은 아닙니다. :)