Вопрос

мне действительно нравится Торнадо и я хотел бы использовать его с Python 3, хотя он написан для версий Python 2.5 и 2.6.

К сожалению, похоже, что в исходном коде проекта нет набора тестов.Если я правильно понимаю, часть WSGI будет не так легко портировать, поскольку ее спецификация не готова к использованию. Python 3 еще (?), но меня скорее интересуют асинхронные функции Tornado, поэтому совместимость с WSGI не является моей главной заботой, даже если бы это было бы неплохо.

По сути, я хотел бы знать, на что следует обращать внимание при попытке портирования, и есть ли уже порты/форки (я не смог найти ни одного, используя Google или просмотр github, хотя может я что-то упустил).

Это было полезно?

Решение

Прежде всего, я хочу извиниться за ответ на устаревшую тему, но как только я нашел эту тему через Google, я хочу обновить важную информацию!

В Торнадо 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

Другие советы

Программное обеспечение без приличного набора тестов устаревшее программное обеспечение -- даже если он был выпущен вчера!-) -- поэтому первым важным шагом является начало создания набора тестов;Я рекомендую книгу Фезерса в URL, но вы можете начать с этот PDF-файл это эссе, также написанное Физерсом, предшествующее книге и обобщающее одну из основных основных идей и практик книги.

Как только вы делать запустите набор тестов, запустите его с помощью Python 2.6 и -3 флаг, чтобы предупредить вас о вещах 2to3 может споткнуться;как только они будут исправлены, пора попробовать 2to3 и попробуйте набор тестов с Python 3.Вам, без сомнения, придется продолжать расширять набор тестов по мере продвижения, и я рекомендую регулярно отправлять все улучшения в исходный проект Tornado с открытым исходным кодом — эти тесты будут полезны для кто-нибудь в конце концов, кому нужно поддерживать или портировать Tornado, а не только людям, интересующимся Python 3, так что, если повезет, у вас могут появиться последователи и все больше и больше участников набора тестов.

Я не могу поверить, что в 2009 году люди выпускают крупные проекты с открытым исходным кодом!!!, без достойные наборы тестов, но я верю вам, что это действительно то, что сделали Торнадоеры...

Tornado — это хороший веб-фреймворк, который выглядит примерно так: искривленный, но не содержит исправлений ошибок или функций Twisted.Я сделал порт для скручивания некоторое время назад это, по сути, просто удалило код.

Некоторые из этих особенностей очень важный.Например, если вы используете WSGI, вы блокируете неблокирующую веб-платформу.Плохие вещи произойдут.Асинхронная веб-инфраструктура Twisted также имеет контейнер WSGI, но она использует deferToThread чтобы предотвратить блокировку других запросов.Это все еще не правильный способ масштабирования приложения, но оно разваливается гораздо медленнее.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top