Tornado 4.5 and 5.0 will support both python 2 and python 3. I think we're still a few years away from dropping python 2.
Ben还是会继续支持Python 2 消灭到2还需要一些时间
1
janxin 2017-02-25 18:26:47 +08:00 via iPhone
挺好的,滋次,下一步上 asyncio 就行了
|
2
SlipStupig OP @janxin 后面异步不再是用 feature 来模拟了,而是原生的 asyncio
|
3
Gem 2017-02-25 19:08:20 +08:00
最近一直关注 Sanic https://github.com/channelcat/sanic 比 tornado 生态貌似好些
|
4
pc10201 2017-02-25 19:14:09 +08:00 1
2.7 将在 2020 年终止维护了~
|
5
SlipStupig OP @Gem 好在哪里能不能介绍一下?
|
6
Gem 2017-02-25 19:59:40 +08:00
@SlipStupig 基于 python3.5
|
7
Gem 2017-02-25 20:03:14 +08:00 1
@Gem
@SlipStupig 不小心就回车了,基于 python3.5 ,基于 uvloop 的实现,用法几乎就是 flask ,习惯 flask 的人,直接上手,看开发也很活跃,然后速度号称还是比较有优势的。 |
8
SlipStupig OP @Gem 体验了一下感觉速度很牛啊,比 tornado 快的多而且够轻量
|
11
SlipStupig OP @windfarer 可以用 as 转移嘛
|
12
freestyle 2017-02-25 22:48:01 +08:00
支持
|
13
windfarer 2017-02-25 22:48:21 +08:00
@SlipStupig 强迫症表示不能忍
|
14
pyufftj 2017-02-25 23:17:19 +08:00
python 还好啦, 2 和 3 语法差别不是很大,学习成本不是很大。要是 Angular 和 Angular2 的话就要哭了
|
15
lichun 2017-02-25 23:29:56 +08:00 1
@windfarer 可以写 from sanic import response; requests.json, 不要直接 from sanic.request import json
|
16
l1093178 2017-02-25 23:38:35 +08:00
@windfarer 不 import 到当前 namespace 就没事,直接 import as 也可以( flask 还有 flask.json 呢)
|
17
windfarer 2017-02-25 23:48:10 +08:00
|
18
windfarer 2017-02-25 23:48:44 +08:00
话说跑题了喂,不应该讨论 tornado 的么= =
|
19
gwind 2017-02-26 00:02:37 +08:00
建议学习 Python3 , 支持已经很广泛。
btw: 1. tornado 框架我认为很有特点的一个方面:在于 RequestHandler 是 Class 类型,用到了 Python 的面向对象优势。 2. 如果追求速率, golang 开发 http api 的应用情景越来越多 |
20
phithon 2017-02-26 03:07:06 +08:00
django 2 也要放弃支持 Python2 了
|
21
bigzhu 2017-02-26 09:53:22 +08:00 via Android
挺想换的,但是之前在 tornado 下写了很多很多可以复用的类…改起来工作量不小
|
22
chenqh 2017-02-26 11:41:33 +08:00
到了 2020 年,我用不用 python 还不知道呢。。
我觉得对于 python 异步而已,主要没有框架异步(tornado)+orm 异步(?)+template 异步(?)+redis 异步(?)一条龙,所以我现在宁愿用 flask 。。反正并发不是很高 |
23
lecher 2017-02-26 12:39:35 +08:00 via Android
ben 改决定了,他认为还需要几年才能放弃 Python2 , 4.5 乃至 5.0 都还会是兼容 Python2 、 Python3 。
|
24
fy 2017-02-26 12:54:06 +08:00
其实如果抛弃 2 的支持是好事啊,现在除了老项目谁还用 2 ?
隔壁的 aiohttp 搞的风生水起,很大一个原因就是没有包袱。 |
25
jingniao 2017-02-26 13:02:54 +08:00 via Android
除去 rhel6 还在 2.6 ,其他发行版的默认 python 都还是 2.7 吧,即使是安装有 3.x
期待第一个默认 3.x 的发行版出现,这样才算是吹响消灭 2.7 的号角 |
26
SlipStupig OP @chenqh tornado 相关的一部支持还是比较好,该有的都有, tornado 自带长连接
|
27
SlipStupig OP @gwind 个人还是喜欢 Tornado 风格,代码利用率高
|
28
chenqh 2017-02-26 16:36:39 +08:00
@SlipStupig py2 你用什么 orm? wtform 有异步库吗? jinja2 有异步库吗
|
29
SlipStupig OP @chenqh ORM 我用 SQLAlchemy , 你说这两个库本质是表单渲染只要 handler 是异步就可以了,不知道字符串异步替换有什么好处
|
30
chenqh 2017-02-26 18:40:41 +08:00
你 SQLAlchemy 怎么异步法?不会是用 tornado-celery 那种方式吧
|
31
SlipStupig OP @chenqh 可以指定 tornado-mysql 的驱动啊....
|
32
hosiet 2017-02-26 18:49:37 +08:00 via Android
@jingniao Arch 多年前就切了, Arch 的这个行为当年直接导致了一个阐明默认 Python 版本选择方式的 PEP 出现
|
33
SlipStupig OP @chenqh 但是官方不推荐你异步操作
|
34
chenqh 2017-02-26 18:55:18 +08:00
@SlipStupig 。。。。
|
36
killpanda 2017-02-26 20:22:19 +08:00
sanic 和 Flask 语法简直一模一样,迁移太方便了。不过貌似部署这块比较初级,还没有 graceful reload
|
37
workwonder 2017-02-26 20:32:28 +08:00 via Android
@killpanda tornado 不是也没有 gracefully reload 吗?
|
38
usenix 2017-02-26 22:06:09 +08:00
Sanic 列出的 benchmark , Tornado 的 rps 也太惨了吧。。。
果然 pure python 不太给力啊。。。 |
39
SlipStupig OP @usenix 等 4.5 版本切换到 asyncio 上就可能好多了
|
41
messense 2017-02-26 22:32:16 +08:00
最近试用了 Sanic 感觉还是存在很多问题,得自己去填坑。
|
43
killpanda 2017-02-26 23:11:05 +08:00
@workwonder 我用 Flask 比较多,所以没有注意 tornado 这块,不过我看网上还是有些解决方案的
|
44
messense 2017-02-27 09:47:49 +08:00
|
47
workwonder 2017-02-27 12:20:53 +08:00 via Android
@killpanda 对啊,没有标准的方法。有 hack 的方法,不完美。
|