推荐学习书目
› 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
miniyao
V2EX  ›  Python

新项目上 Python 3.* 版本,当下该选哪个 Py3 的小版本合适?

  •  
  •   miniyao · Mar 23, 2020 · 11237 views
    This topic created in 2416 days ago, the information mentioned may be changed or developed.
    Python 3.0 时间长,兼容好,部分新特性缺失
    Python 3.4 发布时间久,前向兼容性好,该有的库都有
    Python 3.6 很多机器学习的起步版本,Async 特性
    Python 3.7 口碑好,性能提升大
    Python 3.8 最新版

    本想线上用 3.7,该有的都有,可惜是个奇数小版本号,有些库都懒得去适配测试奇数小版本的兼容性,3.8 太新了,周边一些库都没跟上。
    53 replies  •  2020-04-09 17:45:37 +08:00
    kokutou
    kokutou
    Mar 23, 2020❤️1
    1
    直接最新咯,有 bug 就修,
    总是要修的,你现在不修,以后升级不还是要修。。。
    Jblue
    Jblue
    Mar 23, 2020
    2
    个人推荐 3.7
    ClericPy
    ClericPy
    Mar 23, 2020
    3
    3.8 刚出的时候 whl 都不全, 对 Windows 很不友好, linux 上还算可以, 不过新特性真没有几个让人眼前一亮的, 之前 V 友也发了性能对比, 3.6 比 3.5 提升挺大, 3.7 比 3.6 在个别组件有优化, 3.8 则没有太亮眼的性能提高. 至于说兼容性, 那种库不用也罢, 非要用就看看证书可不可以自己魔改它.

    之前用 pytest 检查的时候发现, 包括 aiohttp 和 lxml 都有很多 3.8 不再兼容的语法(比如 abc 不再从 collections 里拿), 但是这些大库最新版已经兼容上了

    简单的说, 看看不向后兼容的地方就知道尽量不要追新. 按照往年的套路, 任何大版本更新, 冷却它一年.
    Trim21
    Trim21
    Mar 23, 2020 via iPhone
    4
    3.4 以前的就算了吧,都已经结束支持了…
    bnm965321
    bnm965321
    Mar 23, 2020
    5
    推荐 3.8,用 assignment expression 可爽了
    linvaux
    linvaux
    Mar 23, 2020
    6
    python3.7.3 或者 python3.7.5
    lishunan246
    lishunan246
    Mar 23, 2020 via Android
    7
    本来有自信回答这个问题的,但看到你说 Python3.0 兼容好,我又有丶犹豫了。
    Hstar
    Hstar
    Mar 23, 2020
    8
    新项目肯定用最新版呀,保守估计新项目 release 的时候 3.9 了,还选 3.7 就有点。。。
    CallMeReznov
    CallMeReznov
    Mar 23, 2020
    9
    盲选 3.7
    wzwwzw
    wzwwzw
    Mar 23, 2020
    10
    3.7.5
    Vegetable
    Vegetable
    Mar 23, 2020
    11
    ^3.7
    fcmio
    fcmio
    Mar 23, 2020 via iPhone
    12
    我用 3.7 (
    cz5424
    cz5424
    Mar 23, 2020 via iPhone
    13
    公司目前项目还用着 3.6
    jeeyong
    jeeyong
    Mar 23, 2020
    14
    3.7.5
    pmispig
    pmispig
    Mar 23, 2020
    15
    千万不要 3.4 有 BUG 没修
    chioplkijhman
    chioplkijhman
    Mar 23, 2020
    16
    3.7.3,Debian10 自带。
    imycc
    imycc
    Mar 23, 2020
    17
    3.7 吧,3.8 的新特性你又用不上,等些时间让周边库跟进之后再升级
    keepeye
    keepeye
    Mar 23, 2020
    18
    3.5.7
    alphadog619
    alphadog619
    Mar 23, 2020
    19
    3.6 或 3.7 3.8 有的 package 不支持
    keepeye
    keepeye
    Mar 23, 2020
    20
    @keepeye 我说的是我线上环境,用哪个版本还是要取决你的项目
    zhoudaiyu
    zhoudaiyu
    Mar 23, 2020
    21
    还在用的 3.5.5.....
    aydd2004
    aydd2004
    Mar 23, 2020
    22
    @linvaux 为什么跳过了我正在用的 3.7.4 妈蛋
    wuhaoworld
    wuhaoworld
    Mar 23, 2020❤️1
    23
    当年争论用 python3 还是 pyhon2,如今....
    black11black
    black11black
    Mar 23, 2020
    24
    需要用新特性直接上 3.8,次选 3.7,asyncio api 两版本略微不同,3.8 增加了一些好用的特性。3.6 以前的 api 基本没法用,上了就是坑,自己选吧。
    frostming
    frostming
    Mar 23, 2020
    25
    推荐 3.7,wheel 兼容很重要,就算 Linux 我也不想动不动报个编译错误
    WoStaring
    WoStaring
    Mar 23, 2020
    26
    盲选 3.7
    way2explore2
    way2explore2
    Mar 23, 2020
    27
    @Jblue

    同感 3.7

    python 不像 node
    xpresslink
    xpresslink
    Mar 23, 2020
    28
    直接上 3.7.6 源码编译安装的。但是在 cenOS6 上面 openssl 库也要源码编译升级,不然 pip3 用不了。
    wuwukai007
    wuwukai007
    Mar 23, 2020❤️1
    29
    必须 3.6+ 就为了 f 字符串这一点 也要上
    black11black
    black11black
    Mar 23, 2020
    30
    @xpresslink 3.7 和 3.8 对于旧发行版都有很多限制,很多开发工具必须装,涉及到一些库比如 sqlite,zlip 之类的都会出现你说的问题。没有系统支持的话源码安装不会编译该选项的 so
    zcfnc
    zcfnc
    Mar 23, 2020
    31
    看了下自己的 在学校用的 3.5.2 到去年毕业出来上班还是在用这个一直没换。。。。。
    zhongjidalao
    zhongjidalao
    Mar 23, 2020
    32
    我用的 3.7
    yeyuqiu
    yeyuqiu
    Mar 23, 2020
    33
    我们新项目就用的 3.7.5
    Huelse
    Huelse
    Mar 23, 2020
    34
    3.7 或 3.6
    chempotato
    chempotato
    Mar 23, 2020 via Android
    35
    生产环境一直 3.6
    GoLand
    GoLand
    Mar 23, 2020
    36
    求稳 3.6,新一点的 3.7 也可以,但是会有少部分库不支持。小项目直接上 3.7 就行了。3.6 升级到 3.7 基本没有什么工作量,能平滑升级。
    lithbitren
    lithbitren
    Mar 23, 2020
    37
    3.75 ,3.8 还有一些库跟不上。
    janxin
    janxin
    Mar 23, 2020
    38
    如果库支持就 3.7,3.8 也可以,维护基本活跃的库现在也都支持 3.8 了,如果使用 asyncio 相关的话还是推荐更新的,尤其是 Windows 环境。科学计算、DL 库一般 bump 版本比较慢,没必要太快上新

    3.6+是最低版本要求了
    leetom
    leetom
    Mar 23, 2020❤️1
    39
    等等,现在没人考虑 2.7 了吗?

    看来 Python 没落了,从世界上最好的两种编程语言,变成了一种

    2333
    princelai
    princelai
    Mar 23, 2020 via Android
    40
    我本地用 3.8,同事们用 3.7,生产环境用 3.6,就是这么任性
    dantangfan
    dantangfan
    Mar 23, 2020
    41
    @leetom 老乡不要慌,我们都是 2.7,甚至还要兼容 2.6
    exhades
    exhades
    Mar 24, 2020
    42
    公司新项目都是 3.7,自己就 3.9
    mrchi
    mrchi
    Mar 24, 2020
    43
    @exhades 哪有 3.9 版本?🐶
    locoz
    locoz
    Mar 24, 2020
    44
    建议先 3.7,3.8 之前测试发现有点小问题,可以后面看情况再升 3.8
    auxten
    auxten
    Mar 24, 2020 via Android
    45
    这有什么好问大家的,把项目依赖的库对 Python3 的支持范围都列出来,尽量选高版本就好
    jon
    jon
    Mar 24, 2020
    46
    用次新版
    linvaux
    linvaux
    Mar 24, 2020
    47
    @aydd2004 因为我真的没用过 3.7.4
    luozic
    luozic
    Mar 24, 2020
    48
    3.7 +mypy 美滋滋
    jin7
    jin7
    Mar 24, 2020
    49
    自己玩 用 375
    wuwukai007
    wuwukai007
    Mar 25, 2020
    51
    很奇怪 pythoner 蛮喜欢用新版本的~~,对比 java 还在用上古版本。。。。
    liyuhang
    liyuhang
    Mar 30, 2020
    52
    Python 3.5–3.7
    hushao
    hushao
    Apr 9, 2020
    53
    一直用 365,挺稳定的。
    目前没有碰到过 py 方面的问题。

    另:3.6 之前的不建议再用。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   5070 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 124ms · UTC 07:36 · PVG 15:36 · LAX 23:36 · JFK 02:36
    ♥ Do have faith in what you're doing.