V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
watsy0007
V2EX  ›  Python

使用 Python 一段时间以后, 听说还有很多公司停留在 python2. 想统计下大家 Python 使用情况...

  •  
  •   watsy0007 ·
    watsy0007 · 2019-09-10 11:52:19 +08:00 · 8588 次点击
    这是一个创建于 1661 天前的主题,其中的信息可能已经有所发展或是发生改变。

    目前我们用的是 Python3.7.4, 异步 asyncio.

    api 采用 fastapi orm 采用 tortoise-orm / orm 部署 uvicorn (asgi 方案)

    日常工程上推 dataclass, typing, enum 等等.

    已经开始期待 python3.8 了.

    大家对 python 的使用情况如何?

    78 条回复    2019-11-18 15:03:05 +08:00
    sadfQED2
        1
    sadfQED2  
       2019-09-10 12:29:33 +08:00 via Android
    新项目吧,老项目谁没事找事升级到这么新的
    watsy0007
        2
    watsy0007  
    OP
       2019-09-10 12:31:42 +08:00
    老项目也在逐步升级替换.
    jmc891205
        3
    jmc891205  
       2019-09-10 12:40:22 +08:00 via iPhone
    明年 1 月 1 号 python2 就停止维护了
    jdhao
        4
    jdhao  
       2019-09-10 12:47:42 +08:00
    平时使用 Python 3,常用的库都有 Python 3 版本,没有理由使用 Python 2
    gotounix
        5
    gotounix  
       2019-09-10 13:02:05 +08:00
    老项目用的 Python2,只改 bug,新项目全用 Python3。
    initialdp
        6
    initialdp  
       2019-09-10 13:13:24 +08:00
    跟着系统走,系统默认是什么就用什么。目前生产环境主力还是 Debian 8, 升级 python 的动力还不够迫切。
    ClutchBear
        7
    ClutchBear  
       2019-09-10 13:15:00 +08:00
    3.6.5
    因为用到的 tensorflow 不支持 3.7
    skinny
        8
    skinny  
       2019-09-10 13:17:18 +08:00   ❤️ 1
    @ClutchBear 用 pytorch [doge]
    youthfire
        9
    youthfire  
       2019-09-10 13:18:02 +08:00
    python 3.7.4

    五年前开始学习 Python 的时候就直接上手的 3
    12tall
        10
    12tall  
       2019-09-10 13:19:57 +08:00
    py2 不是要停止支持了吗
    Vegetable
        11
    Vegetable  
       2019-09-10 13:22:25 +08:00
    大概半年前转到 py3 的.不过还在 368,typing 有在推,但是这个其实还不那么好用.
    syrupofplum
        12
    syrupofplum  
       2019-09-10 14:08:55 +08:00
    新项目 py3,老项目 py2,等老项目决定重构的时候,估计也就不会再有 py2 的代码了。
    目前停留在 Python 3.6.9,CentOS7 编译 Python3.7 太费劲了,懒得折腾。
    Dustyposa
        13
    Dustyposa  
       2019-09-10 14:16:42 +08:00
    别问,问就是 3.7.4
    alfredsun
        14
    alfredsun  
       2019-09-10 14:18:43 +08:00
    某五百强 2.7.3
    susecjh
        15
    susecjh  
       2019-09-10 14:20:17 +08:00
    在用 2.7
    sikariba
        16
    sikariba  
       2019-09-10 14:22:18 +08:00
    我司目前用 3.6
    LokiSharp
        17
    LokiSharp  
       2019-09-10 14:24:00 +08:00
    从 Python 滚到 Kotlin + Spring Boot 了
    ChillyPrince
        18
    ChillyPrince  
       2019-09-10 14:25:22 +08:00
    深圳这边,面试了很多 2 年经验左右的 python 候选人,极少用 2 的,不过用 3 的大多也是 3.5
    watsy0007
        19
    watsy0007  
    OP
       2019-09-10 16:36:54 +08:00
    @Vegetable 挺好用了...尤其是 pycharm
    watsy0007
        20
    watsy0007  
    OP
       2019-09-10 16:37:31 +08:00
    @LokiSharp kotlin 也是大佬.
    watsy0007
        21
    watsy0007  
    OP
       2019-09-10 16:37:52 +08:00
    @ChillyPrince 面试招人时候, 问 asyncio, 大部分一脸懵...
    xinhangliu
        22
    xinhangliu  
       2019-09-10 16:40:59 +08:00 via Android
    自己的项目已经用上 type hint、f-string 了
    whusnoopy
        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 开始
    mmqmyy
        24
    mmqmyy  
       2019-09-10 17:23:26 +08:00
    问就 2.7
    kaiser1992
        25
    kaiser1992  
       2019-09-10 17:27:26 +08:00
    2.7 虽然明年停止维护,但是用还是没毛病吧?另外 3.8 和 3.7 差异性很大?
    swulling
        26
    swulling  
       2019-09-10 17:28:43 +08:00
    Python2 停止支持不是什么问题,很多库都不再更新 Python2 支持,才是问题
    kppwp
        27
    kppwp  
       2019-09-10 17:33:12 +08:00
    没用到 asyncio 和新的特性 我一直在用 3.5 其实应该用 3.6 的
    hjq98765
        28
    hjq98765  
       2019-09-10 17:37:17 +08:00
    老项目 2.7 只改 bug

    新项目 3.6,没有编码问题真是爽
    feiniu
        29
    feiniu  
       2019-09-10 18:25:18 +08:00
    新项目 3.7

    老项目 2.7
    shm7
        30
    shm7  
       2019-09-10 18:26:23 +08:00 via iPhone
    google py2。azure py3 是 3.4。我用的都是基础功能,通用语法,3.5-3.7 都用过,无缝切换。
    watsy0007
        31
    watsy0007  
    OP
       2019-09-10 18:29:59 +08:00
    watsy0007
        32
    watsy0007  
    OP
       2019-09-10 18:30:11 +08:00
    watsy0007
        33
    watsy0007  
    OP
       2019-09-10 18:32:47 +08:00
    @kaiser1992
    @shm7

    问题不大. 但是实际项目开始复杂时候, 很多新的特性可以让代码可读性和性能更好点.
    比如 异步 asyncio, 对 io 密集的优化
    比如 dataclass, typing 对代码的可读性, 还有 ide 的智能提示帮助巨大.

    还有一些其他小点....
    watsy0007
        34
    watsy0007  
    OP
       2019-09-10 18:49:38 +08:00
    deef
        35
    deef  
       2019-09-10 19:03:21 +08:00
    旧项目一直是 2.7,没啥 bug 的话应该不会动了,毕竟很稳。新项目有较少一点是 3.6
    ClericPy
        36
    ClericPy  
       2019-09-10 19:05:15 +08:00
    怎么统计的, 连投票也没看到啊...
    py 一直追新, 有多新追多新, 哈哈, 反正自己的服务器随便折腾
    learningman
        37
    learningman  
       2019-09-10 19:07:46 +08:00 via Android
    @syrupofplum cent 不是自带 2.7.8 吗
    watsy0007
        38
    watsy0007  
    OP
       2019-09-10 20:55:32 +08:00
    @ClericPy cool
    wuwukai007
        39
    wuwukai007  
       2019-09-11 08:43:33 +08:00 via Android
    3.8 海象表达式,好用呢
    imycc
        40
    imycc  
       2019-09-11 09:55:31 +08:00
    老项目还是 2.7 没变,新的后台项目用 3.x 来写,一些公用库或者 SDK 之类的还是要兼容 py2 (有点烦的
    watsy0007
        41
    watsy0007  
    OP
       2019-09-11 10:42:09 +08:00
    @imycc 兼容 2 的库已经很少了吧? 问了好多人现在问题很多库不兼容 2 比较烦? 但是项目还得用 2. 不能升级.
    watsy0007
        42
    watsy0007  
    OP
       2019-09-11 10:48:17 +08:00
    @wuwukai007 对...等着 3.8 发版用上.
    www5070504
        43
    www5070504  
       2019-09-11 10:59:14 +08:00
    学的 3 最后写的 2 到现在还一直用 2 如果 centos 还不更新 估计以后还是一直用 2.7.5 ....
    watsy0007
        44
    watsy0007  
    OP
       2019-09-11 11:34:36 +08:00
    @www5070504 感到害怕...
    lyh404
        45
    lyh404  
       2019-09-11 13:14:55 +08:00
    5 年前写 python 发现好多包都有兼容问题,就用 2 写了。
    现在 2 的代码直接不看了,所有项目直接上 3。
    zone10
        46
    zone10  
       2019-09-11 14:14:05 +08:00
    3.6, 3.7 很多异步库不兼容, 暂时没必要搞那么新
    syrupofplum
        47
    syrupofplum  
       2019-09-11 14:25:26 +08:00
    @learningman CentOS 自带 py2.7,我是说编译 py3.7 费劲。
    watsy0007
        48
    watsy0007  
    OP
       2019-09-11 15:03:53 +08:00
    @zone10 比如?
    watsy0007
        49
    watsy0007  
    OP
       2019-09-11 15:05:16 +08:00
    @syrupofplum 还行, 用 pyenv + virtualenv, 安装时候先 yum install -y .... 各种必要的 lib. 网上搜一下大把的资料.
    holajamc
        50
    holajamc  
       2019-09-11 15:23:38 +08:00
    centos7 默认 py2,所以也只能使用 py2 进行开发好头痛啊
    Qzier
        51
    Qzier  
       2019-09-11 15:31:41 +08:00
    我自己电脑都是装的最新的,每次出新特性就去使用。
    watsy0007
        52
    watsy0007  
    OP
       2019-09-11 15:53:55 +08:00
    @holajamc = . = 默哀
    watsy0007
        53
    watsy0007  
    OP
       2019-09-11 15:54:06 +08:00
    @Qzier cool
    sylvos
        54
    sylvos  
       2019-09-11 17:47:43 +08:00
    @watsy0007 fastapi 结合 tortoise-orm 一起用,能给点代码参考下吗?
    watsy0007
        55
    watsy0007  
    OP
       2019-09-11 23:17:48 +08:00
    @sylvos 什么样的? 项目在用, 不方便发, 如果需要可以单独抽出来放 github
    watsy0007
        56
    watsy0007  
    OP
       2019-09-12 01:21:06 +08:00
    @sylvos https://github.com/watsy0007/fastapi_demo 刚刚临时写了一份可以参考.
    sylvos
        57
    sylvos  
       2019-09-12 08:17:14 +08:00
    @watsy0007 谢谢,学习下你的架构,fastapi 用下来怎么样,我现在用的 hug。
    sylvos
        58
    sylvos  
       2019-09-12 08:27:53 +08:00
    @watsy0007 async def 里面用 celery,redis,pandas,numpy,这些库有问题吗
    异步的优势还是并发吧,并发低的业务是不是没有必要切换。
    watsy0007
        59
    watsy0007  
    OP
       2019-09-12 09:07:56 +08:00
    @sylvos 没有问题.可以直接用. redis, 对应的有 aioredis 库.
    mazhouliang
        60
    mazhouliang  
       2019-09-12 09:52:35 +08:00
    @watsy0007 只要知道 fastapi 好用不
    watsy0007
        61
    watsy0007  
    OP
       2019-09-12 10:14:09 +08:00
    @mazhouliang 相当好用. 具体可以看官方文档. 不出意外, 会成长为 python 的主流异步框架.
    watsy0007
        62
    watsy0007  
    OP
       2019-09-12 10:19:49 +08:00
    @mazhouliang https://github.com/tiangolo/fastapi github 主页 readme 就可以看出来了.
    watsy0007
        63
    watsy0007  
    OP
       2019-09-12 10:27:22 +08:00
    watsy0007
        64
    watsy0007  
    OP
       2019-09-12 10:29:31 +08:00
    @watsy0007 不过这里的意义不是很大, 只是 1 个 hello world. fastapi 的优势是 asgi. falcon 是基于 wsgi 的.
    sylvos
        65
    sylvos  
       2019-09-12 11:13:54 +08:00
    @watsy0007 就性能看起来,Falcon+gunicorn + meinheld/gevent 还是不错的。91454.62 134.42ms 91.90%
    whtcmiss
        66
    whtcmiss  
       2019-09-12 11:15:51 +08:00
    跟着系统走~centos7 默认还是 2.7,什么时候系统默认升级了什么时候才会升到 3 吧
    watsy0007
        67
    watsy0007  
    OP
       2019-09-12 11:44:04 +08:00
    @sylvos 单纯的 hello world 仅供... 实际要加上 db 以后, 跑平均值才有参考意义.
    watsy0007
        68
    watsy0007  
    OP
       2019-09-12 11:53:07 +08:00
    @whtcmiss 比较好奇为什么不升级到 3 呢
    nthhdy
        69
    nthhdy  
       2019-09-12 12:18:09 +08:00
    公司正在推升级到 py3.6,旧项目不升级
    watsy0007
        70
    watsy0007  
    OP
       2019-09-12 12:27:06 +08:00
    @sylvos 本地跑了下. hug 返回 hello world, qps 接近 fastapi 的 2 倍. falcon + meinheld 真厉害
    sc2yml
        71
    sc2yml  
       2019-09-12 21:05:00 +08:00
    在用 2.7
    azuginnen
        72
    azuginnen  
       2019-09-13 12:50:42 +08:00
    openstack 也是 py2 吧
    Cookieeeeee
        73
    Cookieeeeee  
       2019-09-14 16:54:07 +08:00
    python2.7,也在考虑升不升级
    clearT
        74
    clearT  
       2019-09-15 11:41:28 +08:00
    请问 fastapi 的 middleware 支持路由分组吗,还是只能全局所有的路由添加 middleware @watsy0007
    watsy0007
        75
    watsy0007  
    OP
       2019-09-15 20:21:52 +08:00
    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
    clearT
        76
    clearT  
       2019-09-15 21:05:59 +08:00
    @watsy0007 多谢,这两天看了下文档,感觉文档写的好详细,有点 django 的感觉
    watsy0007
        77
    watsy0007  
    OP
       2019-09-15 22:38:20 +08:00
    @clearT 对的.官方更新的很快. 功能完成度相当的高. 文档很完善. 开发 api 时候的痛点基本都有解决方案. 兼顾了高性能. 所以我就选了.
    zhanghb
        78
    zhanghb  
       2019-11-18 15:03:05 +08:00
    @watsy0007 fastapi API 文档解析去的新加坡 DO 机房,今天好像打不开了,要是被墙就难受了,文档的确是看着很顺
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2850 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 31ms · UTC 15:20 · PVG 23:20 · LAX 08:20 · JFK 11:20
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.