推荐学习书目
› 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 · Sep 10, 2019 · 10506 views
    This topic created in 2619 days ago, the information mentioned may be changed or developed.

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

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

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

    已经开始期待 python3.8 了.

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

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

    五年前开始学习 Python 的时候就直接上手的 3
    12tall
    12tall
    Sep 10, 2019
    10
    py2 不是要停止支持了吗
    Vegetable
    Vegetable
    Sep 10, 2019
    11
    大概半年前转到 py3 的.不过还在 368,typing 有在推,但是这个其实还不那么好用.
    syrupofplum
    syrupofplum
    Sep 10, 2019
    12
    新项目 py3,老项目 py2,等老项目决定重构的时候,估计也就不会再有 py2 的代码了。
    目前停留在 Python 3.6.9,CentOS7 编译 Python3.7 太费劲了,懒得折腾。
    Dustyposa
    Dustyposa
    Sep 10, 2019
    13
    别问,问就是 3.7.4
    alfredsun
    alfredsun
    Sep 10, 2019
    14
    某五百强 2.7.3
    darylc
    darylc
    Sep 10, 2019
    15
    在用 2.7
    sikariba
    sikariba
    Sep 10, 2019
    16
    我司目前用 3.6
    LokiSharp
    LokiSharp
    Sep 10, 2019
    17
    从 Python 滚到 Kotlin + Spring Boot 了
    ChillyPrince
    ChillyPrince
    Sep 10, 2019
    18
    深圳这边,面试了很多 2 年经验左右的 python 候选人,极少用 2 的,不过用 3 的大多也是 3.5
    watsy0007
    watsy0007
    OP
    Sep 10, 2019
    19
    @Vegetable 挺好用了...尤其是 pycharm
    watsy0007
    watsy0007
    OP
    Sep 10, 2019
    20
    @LokiSharp kotlin 也是大佬.
    watsy0007
    watsy0007
    OP
    Sep 10, 2019
    21
    @ChillyPrince 面试招人时候, 问 asyncio, 大部分一脸懵...
    xinhangliu
    xinhangliu
    Sep 10, 2019 via Android
    22
    自己的项目已经用上 type hint、f-string 了
    whusnoopy
    whusnoopy
    Sep 10, 2019
    23
    公司最大的 py 项目,2011 年开始的,支持千万级年收入,py2.7,有转 3 的打算
    公司次大的 py 项目,2017 年开始的,支持百万级年收入,py2.7,正在转 3,因为一些依赖库的关系先在转 3.6,预计 Q4 会完成线上切换
    其他的没持续迭代但还在用的老项目基本就是挂在那里,用 docker 固定依赖跑,新项目都是 3.6 开始
    mmqmyy
    mmqmyy
    Sep 10, 2019
    24
    问就 2.7
    kaiser1992
    kaiser1992
    Sep 10, 2019
    25
    2.7 虽然明年停止维护,但是用还是没毛病吧?另外 3.8 和 3.7 差异性很大?
    swulling
    swulling
    Sep 10, 2019
    26
    Python2 停止支持不是什么问题,很多库都不再更新 Python2 支持,才是问题
    kppwp
    kppwp
    Sep 10, 2019
    27
    没用到 asyncio 和新的特性 我一直在用 3.5 其实应该用 3.6 的
    hjq98765
    hjq98765
    Sep 10, 2019
    28
    老项目 2.7 只改 bug

    新项目 3.6,没有编码问题真是爽
    feiniu
    feiniu
    Sep 10, 2019
    29
    新项目 3.7

    老项目 2.7
    shm7
    shm7
    Sep 10, 2019 via iPhone
    30
    google py2。azure py3 是 3.4。我用的都是基础功能,通用语法,3.5-3.7 都用过,无缝切换。
    watsy0007
    watsy0007
    OP
    Sep 10, 2019
    31
    watsy0007
    watsy0007
    OP
    Sep 10, 2019
    32
    watsy0007
    watsy0007
    OP
    Sep 10, 2019
    33
    @kaiser1992
    @shm7

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

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