Python2 вызывает исключение при использовании сортировки, но Python3 не делает - PullRequest
0 голосов
/ 18 июня 2019

У меня есть приложение-колба, которое было развернуто в IBM Bluemix Cloud (работает на Python 2.7). Приложение было разработано с использованием Python 3 и обратно совместимо с помощью команды pasteurize. Приложение (после вставки) запускается как положено на локальном компьютере с Python 3, но в облаке экземпляр, когда вызывается, вызывает следующее исключение:

File "/home/vcap/deps/0/python/lib/python2.7/site-packages/flask/app.py", line 1997, in __call__
return self.wsgi_app(environ, start_response)
File "/home/vcap/deps/0/python/lib/python2.7/site-packages/flask/app.py", line 1985, in wsgi_app
response = self.handle_exception(e)
File "/home/vcap/deps/0/python/lib/python2.7/site-packages/flask/app.py", line 1540, in handle_exception
reraise(exc_type, exc_value, tb)
File "/home/vcap/deps/0/python/lib/python2.7/site-packages/flask/app.py", line 1982, in wsgi_app
response = self.full_dispatch_request()
File "/home/vcap/deps/0/python/lib/python2.7/site-packages/flask/app.py", line 1614, in full_dispatch_request
rv = self.handle_user_exception(e)
File "/home/vcap/deps/0/python/lib/python2.7/site-packages/flask/app.py", line 1517, in handle_user_exception
reraise(exc_type, exc_value, tb)
File "/home/vcap/deps/0/python/lib/python2.7/site-packages/flask/app.py", line 1612, in full_dispatch_request
rv = self.dispatch_request()
File "/home/vcap/deps/0/python/lib/python2.7/site-packages/flask/app.py", line 1598, in dispatch_request
return self.view_functions[rule.endpoint](**req.view_args)
File "/home/vcap/app/search.py", line 147, in search
questions_sorted = sorted(question_scores, key=question_scores.get, reverse=True)[:answer_limit]
TypeError: slice indices must be integers or None or have an __index__ method

question_scores - это словарь, имеющий integer ключи и float значения. После получения исключения я добавил ключи к методу int при добавлении в question_scores, но, к счастью, исключение все еще возникает. Итак, где я не прав?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...