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
miniyao
V2EX  ›  Python

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

  •  
  •   miniyao · 2020-03-23 12:14:06 +08:00 · 9798 次点击
    这是一个创建于 1730 天前的主题,其中的信息可能已经有所发展或是发生改变。
    Python 3.0 时间长,兼容好,部分新特性缺失
    Python 3.4 发布时间久,前向兼容性好,该有的库都有
    Python 3.6 很多机器学习的起步版本,Async 特性
    Python 3.7 口碑好,性能提升大
    Python 3.8 最新版

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

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

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

    同感 3.7

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

    3.6+是最低版本要求了
    leetom
        39
    leetom  
       2020-03-23 21:58:06 +08:00   ❤️ 1
    等等,现在没人考虑 2.7 了吗?

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

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

    另:3.6 之前的不建议再用。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3650 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 10:41 · PVG 18:41 · LAX 02:41 · JFK 05:41
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.