умение амазонки алексей не правильно работает работает python код - PullRequest
4 голосов
/ 15 января 2020

Я работаю над простым умением амазонки Алексы в python. Я написал весь свой код для этого простого приложения и загрузил его в свою функцию lambada. Я протестировал, что lambada загрузила мои импортированные библиотеки и работает с ними, но когда я использую этот финальный код, возникает «проблема с запрошенным ответом на навыки». "

    def handle(self, handler_input):
        # type: (HandlerInput) -> Response

        # https://repl.it/repls/UselessOptimalPipeline

        url = "http://jokepro.dx.am/"

        source = requests.get(url)
        bs4call = bs4.BeautifulSoup(source.text, "html.parser")

        obj = bs4call.find('object')

        text = requests.get(url + obj['data']).text
        # print(text) # <-- to print the textfile

        finalJoke = random.choice(text.splitlines())

        speak_output = finalJoke

        return (
            handler_input.response_builder
                .speak(speak_output)
                #.ask()
                .response
        )

это функция обработчика

конфликтует ли lambada с чем-либо в этом коде? почему он не работает?

обновление: вот некоторая соответствующая информация

needs.txt

boto3==1.9.216
ask-sdk-core==1.11.0
bs4==4.8.2
requests==2.22.0

Not Giving any response which signifies an error...

Это было ВСЕ не через консоль разработчика Amazon https://developer.amazon.com/alexa/console/ask

1 Ответ

2 голосов
/ 21 января 2020

РЕДАКТИРОВАТЬ: Приношу свои извинения за то, что не запросил полную информацию о вашей проблеме

На основании моего истечения срока действия, ваша проблема связана с неправильной настройкой зависимостей. При развертывании функции зависимости ALL должны быть указаны в requriements.txt. Чтобы получить правильные зависимости, я бы рекомендовал использовать pipenv.

Например, следующие команды покажут вам полное дерево зависимостей для вашего проекта:

  • pipenv install requests
  • pipenv install bs4
  • pipenv lock -r > requirements.txt

В результате этих команд в результате добавления этих двух библиотек будет показан ваш файл requirements.txt со следующими зависимостями:

beautifulsoup4==4.8.2
bs4==0.0.1
certifi==2019.11.28
chardet==3.0.4
idna==2.8
requests==2.22.0
soupsieve==1.9.5
urllib3==1.25.8

Все из которых требуются для Ваш проект для правильного импорта модулей. Конечно, вам также понадобятся ваши boto3 и ask-sdk в вашем requirements.txt, однако они изначально включены в lambda, поэтому вам не нужны зависимости.

Для любых библиотек, которые не включены изначально в лямбде вам нужно будет следовать этой процедуре. Список библиотек, которые изначально включены, см .: Lambda Packages .

...