2016-02-27 3 views
0

Я пытаюсь использовать pyDictionary в приложении для приложений Google, но получаю сообщение об ошибке. Я не получаю эту ошибку, когда использую ее за пределами приложения Google. Я добавил его как стороннюю библиотеку (правильно), поэтому он фактически импортирует ее без ошибок, поэтому я не знаю почему.Можете ли вы использовать pydictionary в движке Google?

вот ошибка:

searching.py", line 63, in getkey assert isinstance(word.keys, object) 

AttributeError: 'NoneType' object has no attribute 'keys' 

и вот код для этой функции:

def getkey(term): 
    dictionary = PyDictionary() 
    word = dictionary.meaning(term) 
    assert isinstance(word.keys, object) 
    results = word.keys() 
    newresults = [] 
    for result in results: 
     newresults.append(str(result)) 
    return newresults[0] 

работает вне проекта App Engine, но не внутри ...

ответ

0

Вы должны вернитесь назад и посмотрите на свое исключение и попытайтесь понять, что он вам говорит.

searching.py", line 63, in getkey assert isinstance(word.keys, object) 

AttributeError: 'NoneType' object has no attribute 'keys' 

Откроем его обратно через ваш код.

Для этой ошибки означает, что значение, на которое ссылается word, отсутствует.

Это означает, что результат word = dictionary.meaning(term)

Является None.

Поэтому вы должны поэтому посмотреть, что такое значение term.

Вы подтверждаете, что term имеет смысл в любом месте? Если да, то каков ожидаемый результат dictionary.meaning(term), а затем исследуйте, почему вы не получите ожидаемого результата.

Некоторая базовая отладка прошла бы здесь долгий путь, помогая вам диагностировать проблему.

+0

спасибо за советы по отладке ... это помогло. Цель состоит в том, чтобы получить значение слова, хранящегося в терминах. – blitzblade