2015-04-18 2 views
1

Когда я запускаю свой скрипт, открывается только пустая оболочка, и ничего не происходит. Он дает строку перезапуска в выходной оболочке и останавливается. Затем, когда я пытаюсь отменить окно, он спрашивает меня: «Программа все еще работает, вы хотите ее убить». Я ждал более 15 минут, но ничего не произошло. Вы можете мне помочь. Я использую MacTwipey Stream python, ошибка при запуске IDLE

Вот мой код

from tweepy import Stream 
from tweepy import OAuthHandler 
from tweepy.streaming import StreamListener 

ckey = '' 
csecret = '' 
atoken = '' 
asecret = '' 

class listener(StreamListener): 

    def on_data(self, data): 
     print (data) 
     return True 

    def on_error(self, status): 
     print (status)`enter code here` 

auth = OAuthHandler(ckey, csecret) 
auth.set_access_token(atoken, asecret) 
twitterStream = Stream(auth, listener()) 
twitterStream.filter(track=["car"]) 
+0

Пробовал код без проблем. Используются 'idle' и' Mac'. Только мне пришлось удалить ваш «введите код здесь», который, я думаю, просто опечатка. Это должно быть связано с вашей машиной/установкой. Я бы предложил вам добавить линии отладки, чтобы понять, что происходит. С информацией, которую вы даете сейчас, вы не можете помочь. – lrnzcig

+0

Что произойдет, если вы запустите файл, минус SyntaxError в on_error, прямо с Python в окне консоли. Если он работает одинаково, то Idle не является частью проблемы. –

ответ

0

Есть 2 проблемы в фрагменте кода вы предоставили Первый в методе on_error который я считаю не вызывает каких-либо проблем, так как этот метод будет вызываться только при возникновении ошибки, по-прежнему можно переписать метод как:

def on_error(self, status): 
    print ("The error is : "+status) 

И следующий вопрос в линии twitterStream.filter(track=["car"]), с помощью этой линии производительность этот код теперь зависит от того, сколько публичных твитов содержит ключевое слово car в их твитах, если, к сожалению, ни одна из публичных твитов не была сделана с использованием этого ключевого слова, тогда вы ничего не получите на консоли, поэтому я порекомендую вам использовать больше набора Ключевые слова: vehicle, automobile, etc, чтобы увеличить ваш шанс.

Для целей тестирования вы можете удалить эту строку из фрагмента кода и завершить код на twitterStream = Stream(auth, listener()). Если вы все еще не видите выход на консоли IDLE, попробуйте использовать другой текстовый редактор, например sublime, Canopy, etc..

Смежные вопросы