J'aime beaucoup Tornado et je voudrais l'utiliser avec Python 3, bien qu'il soit écrit pour Python Versions 2.5 et 2.6. P>
Malheureusement, il semble que la source du projet ne vienne pas avec une suite de test. Si je comprends bien, la partie WSGI ne serait pas si facile à porter, car sa spécification n'est pas prête pour Python 3 pourtant (?) , mais je suis plutôt intéressé par les caractéristiques ASYNC de Tornado, la compatibilité de la WSGI n'est donc pas ma principale préoccupation même si ce serait bien. P>
En gros, j'aimerais savoir quoi regarder / faire attention lorsque vous essayez de porter ou s'il existe déjà des ports / fourches déjà (je n'ai pas pu trouver d'utiliser Google ou naviguer sur GITUB , bien que j'aurais pu manquer quelque chose). P>
3 Réponses :
logiciel sans une suite de tests décents est Logiciel Legacy a > - Même si cela a été publié hier! -) - La première étape importante consiste donc à créer une suite de tests; Je recommande le livre de plumes dans l'URL, mais vous pouvez commencer par Ce fichier PDF qui est un essai, aussi par des plumes, précédant le livre et résume l'une des principales idées et pratiques du livre. P>
Une fois que vous do em> avez le début d'une suite de test, exécutez-le avec Python 2.6 et un drapeau Je ne peux pas croire que les gens libèrent des grands projets open source, en 2009 !!!, sans em> suites de test décents, mais je vous fais confiance à ce que c'est bien ce que les tornadoires ont fait ... p> -3 code> pour vous avertir des objets
2to3 code > peut truquer; Une fois ceux qui sont fixés, il est temps d'essayer
2to3 code> et d'essayer la suite de tests avec Python 3. Vous devez sans doute continuer à renforcer la suite de tests que vous allez, et je recommande de soumettre régulièrement tout le Améliorations apportées au projet Open Source de Tornado en amont - Ces tests seront utiles à
Bonnes commentaires Alex: C'est une honte parce que le code de la tornade est très propre, je fais de jouer avec elle ces derniers temps. Drôle qu'il a été construit par l'équipe qui gère l'un des plus grands sites Web de la planète aujourd'hui et qu'ils ne pensaient pas à écrire des tests! +1
@jkp, ou peut-être qu'ils ont une suite de test en interne, mais préfèrent ne pas libérer cela que cela révèle des informations internes, par exemple. L'existence d'une infrastructure de test super-duper pouvant donner un avantage concurrentiel - dans un tel cas, ce serait un compromis compréhensible (libérer le code lui-même mais pas les tests - mieux que de ne rien libérer, après tout! -).
Ou la suite de tests et / ou son harnais sont si profondément associés à une pile d'autres infrastructures Facebook qu'elles ne pouvaient pas justifier l'effort dans la fourniture d'une suite de tests sanitisés.
Tornado est un bon cadre Web sur quelque chose qui ressemble à torsadé , mais n'a pas de bug de torsadée corrections ou fonctionnalités. Je l'ai fait un port à tordu A pendant le dos essentiellement supprimé le code . p>
Certaines de ces fonctionnalités sont très em> importantes. Par exemple, si vous faites WSGI, vous bloquez un cadre Web non bloquant. De mauvaises choses vont arriver. ASYNC WEB Framework a également un conteneur WSGI, mais il utilise defertothread code> pour empêcher de bloquer d'autres demandes. Néanmoins pas la bonne façon d'accabler une application, mais elle tombe beaucoup plus lentement. P>
Tout d'abord, je veux m'excuser pour une réponse à un sujet obsolète, Mais une fois que j'ai trouvé ce sujet via Google, je souhaite mettre à jour des informations importantes! P>
Dans la Tornado 2.0 ajoute la prise en charge de Python 3.2! P>
https://github.com/facebook/tornado/blob/master/ setup.py p>
http://groups.google.com/group/python- Tornado / Browse_thread / Thread / 69415C13D129578B P>
C'est exactement pourquoi c'est mieux que les forums. Le sujet n'est pas obsolète, vous pouvez simplement les mettre à jour. Une fois 2.0 est publié, la question elle-même devrait être mise à jour pour noter cela.
circuits ( bitbucket.org/prologic/circuits ) a soutenu Python 3 pendant un certain temps et prend en charge 2,6, 2.7, 3.1, 3.2 et 3.3