目前我们用的是 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 1
@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 @xinhangliu 👍
|
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
lyh404 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 |