目前我们用的是 Python3.7.4, 异步 asyncio.
api 采用 fastapi orm 采用 tortoise-orm / orm 部署 uvicorn (asgi 方案)
日常工程上推 dataclass, typing, enum 等等.
已经开始期待 python3.8 了.
大家对 python 的使用情况如何?
![]() | 1 sadfQED2 2019-09-10 12:29:33 +08:00 via Android 新项目吧,老项目谁没事找事升级到这么新的 |
2 watsy0007 OP 老项目也在逐步升级替换. |
![]() | 3 jmc891205 2019-09-10 12:40:22 +08:00 via iPhone 明年 1 月 1 号 python2 就停止维护了 |
![]() | 4 jdhao 2019-09-10 12:47:42 +08:00 平时使用 Python 3,常用的库都有 Python 3 版本,没有理由使用 Python 2 |
![]() | 5 gotounix 2019-09-10 13:02:05 +08:00 老项目用的 Python2,只改 bug,新项目全用 Python3。 |
![]() | 6 initialdp 2019-09-10 13:13:24 +08:00 跟着系统走,系统默认是什么就用什么。目前生产环境主力还是 Debian 8, 升级 python 的动力还不够迫切。 |
![]() | 7 ClutchBear 2019-09-10 13:15:00 +08:00 3.6.5 因为用到的 tensorflow 不支持 3.7 |
8 skinny 2019-09-10 13:17:18 +08:00 ![]() @ClutchBear 用 pytorch [doge] |
![]() | 9 youthfire 2019-09-10 13:18:02 +08:00 python 3.7.4 五年前开始学习 Python 的时候就直接上手的 3 |
![]() | 10 12tall 2019-09-10 13:19:57 +08:00 py2 不是要停止支持了吗 |
![]() | 11 Vegetable 2019-09-10 13:22:25 +08:00 大概半年前转到 py3 的.不过还在 368,typing 有在推,但是这个其实还不那么好用. |
![]() | 12 syrupofplum 2019-09-10 14:08:55 +08:00 新项目 py3,老项目 py2,等老项目决定重构的时候,估计也就不会再有 py2 的代码了。 目前停留在 Python 3.6.9,CentOS7 编译 Python3.7 太费劲了,懒得折腾。 |
![]() | 13 Dustyposa 2019-09-10 14:16:42 +08:00 别问,问就是 3.7.4 |
![]() | 14 alfredsun 2019-09-10 14:18:43 +08:00 某五百强 2.7.3 |
![]() | 15 susecjh 2019-09-10 14:20:17 +08:00 在用 2.7 |
![]() | 16 sikariba 2019-09-10 14:22:18 +08:00 我司目前用 3.6 |
![]() | 17 LokiSharp 2019-09-10 14:24:00 +08:00 从 Python 滚到 Kotlin + Spring Boot 了 |
![]() | 18 ChillyPrince 2019-09-10 14:25:22 +08:00 深圳这边,面试了很多 2 年经验左右的 python 候选人,极少用 2 的,不过用 3 的大多也是 3.5 |
21 watsy0007 OP @ChillyPrince 面试招人时候, 问 asyncio, 大部分一脸懵... |
![]() | 22 xinhangliu 2019-09-10 16:40:59 +08:00 via Android 自己的项目已经用上 type hint、f-string 了 |
![]() | 23 whusnoopy 2019-09-10 17:06:08 +08:00 公司最大的 py 项目,2011 年开始的,支持千万级年收入,py2.7,有转 3 的打算 公司次大的 py 项目,2017 年开始的,支持百万级年收入,py2.7,正在转 3,因为一些依赖库的关系先在转 3.6,预计 Q4 会完成线上切换 其他的没持续迭代但还在用的老项目基本就是挂在那里,用 docker 固定依赖跑,新项目都是 3.6 开始 |
![]() | 24 mmqmyy 2019-09-10 17:23:26 +08:00 问就 2.7 |
25 kaiser1992 2019-09-10 17:27:26 +08:00 2.7 虽然明年停止维护,但是用还是没毛病吧?另外 3.8 和 3.7 差异性很大? |
![]() | 26 swulling 2019-09-10 17:28:43 +08:00 Python2 停止支持不是什么问题,很多库都不再更新 Python2 支持,才是问题 |
![]() | 27 kppwp 2019-09-10 17:33:12 +08:00 没用到 asyncio 和新的特性 我一直在用 3.5 其实应该用 3.6 的 |
![]() | 28 hjq98765 2019-09-10 17:37:17 +08:00 老项目 2.7 只改 bug 新项目 3.6,没有编码问题真是爽 |
![]() | 29 feiniu 2019-09-10 18:25:18 +08:00 新项目 3.7 老项目 2.7 |
![]() | 30 shm7 2019-09-10 18:26:23 +08:00 via iPhone google py2。azure py3 是 3.4。我用的都是基础功能,通用语法,3.5-3.7 都用过,无缝切换。 |
31 watsy0007 OP |
33 watsy0007 OP @kaiser1992 @shm7 问题不大. 但是实际项目开始复杂时候, 很多新的特性可以让代码可读性和性能更好点. 比如 异步 asyncio, 对 io 密集的优化 比如 dataclass, typing 对代码的可读性, 还有 ide 的智能提示帮助巨大. 还有一些其他小点.... |
![]() | 35 deef 2019-09-10 19:03:21 +08:00 旧项目一直是 2.7,没啥 bug 的话应该不会动了,毕竟很稳。新项目有较少一点是 3.6 |
![]() | 36 ClericPy 2019-09-10 19:05:15 +08:00 怎么统计的, 连投票也没看到啊... py 一直追新, 有多新追多新, 哈哈, 反正自己的服务器随便折腾 |
![]() | 37 learningman 2019-09-10 19:07:46 +08:00 via Android @syrupofplum cent 不是自带 2.7.8 吗 |
![]() | 39 wuwukai007 2019-09-11 08:43:33 +08:00 via Android 3.8 海象表达式,好用呢 |
![]() | 40 imycc 2019-09-11 09:55:31 +08:00 老项目还是 2.7 没变,新的后台项目用 3.x 来写,一些公用库或者 SDK 之类的还是要兼容 py2 (有点烦的 |
41 watsy0007 OP @imycc 兼容 2 的库已经很少了吧? 问了好多人现在问题很多库不兼容 2 比较烦? 但是项目还得用 2. 不能升级. |
42 watsy0007 OP @wuwukai007 对...等着 3.8 发版用上. |
![]() | 43 www5070504 2019-09-11 10:59:14 +08:00 学的 3 最后写的 2 到现在还一直用 2 如果 centos 还不更新 估计以后还是一直用 2.7.5 .... |
44 watsy0007 OP @www5070504 感到害怕... |
45 LaCroqueta12 2019-09-11 13:14:55 +08:00 5 年前写 python 发现好多包都有兼容问题,就用 2 写了。 现在 2 的代码直接不看了,所有项目直接上 3。 |
46 zone10 2019-09-11 14:14:05 +08:00 3.6, 3.7 很多异步库不兼容, 暂时没必要搞那么新 |
![]() | 47 syrupofplum 2019-09-11 14:25:26 +08:00 @learningman CentOS 自带 py2.7,我是说编译 py3.7 费劲。 |
49 watsy0007 OP @syrupofplum 还行, 用 pyenv + virtualenv, 安装时候先 yum install -y .... 各种必要的 lib. 网上搜一下大把的资料. |
![]() | 50 holajamc 2019-09-11 15:23:38 +08:00 centos7 默认 py2,所以也只能使用 py2 进行开发好头痛啊 |
![]() | 51 Qzier 2019-09-11 15:31:41 +08:00 我自己电脑都是装的最新的,每次出新特性就去使用。 |
56 watsy0007 OP @sylvos https://github.com/watsy0007/fastapi_demo 刚刚临时写了一份可以参考. |
58 sylvos 2019-09-12 08:27:53 +08:00 @watsy0007 async def 里面用 celery,redis,pandas,numpy,这些库有问题吗 异步的优势还是并发吧,并发低的业务是不是没有必要切换。 |
60 mazhouliang 2019-09-12 09:52:35 +08:00 @watsy0007 只要知道 fastapi 好用不 |
61 watsy0007 OP @mazhouliang 相当好用. 具体可以看官方文档. 不出意外, 会成长为 python 的主流异步框架. |
62 watsy0007 OP @mazhouliang https://github.com/tiangolo/fastapi github 主页 readme 就可以看出来了. |
63 watsy0007 OP |
64 watsy0007 OP @watsy0007 不过这里的意义不是很大, 只是 1 个 hello world. fastapi 的优势是 asgi. falcon 是基于 wsgi 的. |
65 sylvos 2019-09-12 11:13:54 +08:00 @watsy0007 就性能看起来,Falcon+gunicorn + meinheld/gevent 还是不错的。91454.62 134.42ms 91.90% |
66 whtcmiss 2019-09-12 11:15:51 +08:00 跟着系统走~centos7 默认还是 2.7,什么时候系统默认升级了什么时候才会升到 3 吧 |
![]() | 69 nthhdy 2019-09-12 12:18:09 +08:00 公司正在推升级到 py3.6,旧项目不升级 |
70 watsy0007 OP @sylvos 本地跑了下. hug 返回 hello world, qps 接近 fastapi 的 2 倍. falcon + meinheld 真厉害 |
![]() | 71 sc2yml 2019-09-12 21:05:00 +08:00 在用 2.7 |
![]() | 72 azuginnen 2019-09-13 12:50:42 +08:00 openstack 也是 py2 吧 |
73 Cookieeeeee 2019-09-14 16:54:07 +08:00 python2.7,也在考虑升不升级 |
74 clearT 2019-09-15 11:41:28 +08:00 请问 fastapi 的 middleware 支持路由分组吗,还是只能全局所有的路由添加 middleware @watsy0007 |
75 watsy0007 OP A "middleware" is a function that works with every request before it is processed by any specific path operation. And also with every response before returning it. 我查了一下. @clearT |