Tornado и Python 3.x
Мне действительно нравится Tornado, и я бы хотел использовать его с Python 3, хотя он написан для версий 2.5 и 2.6 Python.
К сожалению, похоже, что источник проекта не поставляется с набором тестов. Если я правильно понял, что WSGI-часть его будет не так легко переносить, поскольку она не готова для Python 3 еще (?), но меня скорее интересуют функции асинхронного Tornado, поэтому совместимость WSGI не является моей главной задачей, даже если это будет хорошо.
В принципе, я хотел бы знать, что посмотреть/обратить внимание при попытке порт или уже есть порты/вилки (я не смог найти никакого использования google или браузера github, хотя я мог что-то пропустить).
Ответы
Ответ 1
Прежде всего, я хочу извиниться за ответ на устаревшую тему,
но как только я нашел эту тему через Google, я хочу обновить важную информацию!
В Tornado 2.0 добавлена поддержка Python 3.2!
https://github.com/facebook/tornado/blob/master/setup.py
http://groups.google.com/group/python-tornado/browse_thread/thread/69415c13d129578b
Ответ 2
Программное обеспечение без достойного набора тестов устаревшее программное обеспечение - даже если оно было выпущено вчера! -) - поэтому первый важный шаг - начать создание набора тестов; Я рекомендую книгу "Перья" в URL-адресе, но вы можете начать с этого PDF, который является эссе, также Перьями, предшествующими книге, и суммируя один книги основных основных идей и практик.
Как только у вас есть начало тестового набора, запустите его с помощью Python 2.6 и флага -3
, чтобы предупредить вас о вещах 2to3
, которые могут наткнуться; после того, как они исправлены, пришло время попробовать 2to3
и попробовать тестовый набор с Python 3. Вам, несомненно, придется продолжать наращивать набор тестов, когда вы идете, и я рекомендую регулярно представлять все улучшения в восходящем Tornado проект с открытым исходным кодом - те тесты будут полезны кому-либо, кому необходимо поддерживать или переносить Tornado, в конце концов, не только для людей, интересующихся Python 3, поэтому, если повезет, вы можете получить последователей и больше и больше участников тестового набора.
Я не могу поверить, что люди выпускают крупные проекты с открытым исходным кодом в 2009 году!!!, без достойных наборов тестов, но я доверяю вам, что это действительно то, что сделали Tornadoers...
Ответ 3
Tornado - хорошая веб-структура над чем-то вроде twisted, но не имеет исправленных ошибок или функций, Я сделал порт для скрутки, который по существу просто удалил код.
Некоторые из этих функций очень важны. Например, если вы выполняете WSGI, вы блокируете неблокирующую веб-инфраструктуру. Плохие вещи произойдут. У Twisted async web framework также есть контейнер WSGI, но он использует deferToThread
, чтобы предотвратить его блокирование других запросов. Еще не правильный способ масштабирования приложения, но он разваливается гораздо медленнее.