为什么 python3 正在慢慢取代 python2.7 - V2EX
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
PiaInCtf
V2EX    Python

为什么 python3 正在慢慢取代 python2.7

  •  
  •   PiaInCtf 2017-02-27 16:50:30 +08:00 10658 次点击
    这是一个创建于 3153 天前的主题,其中的信息可能已经有所发展或是发生改变。

    如题

    71 条回复    2017-03-01 17:15:52 +08:00
    qweweretrt515
        1
    qweweretrt515  
       2017-02-27 17:51:25 +08:00
    我也觉得奇怪, 为什么这么久了,还没有完全替代 2.7
    aploium
        2
    aploium  
       2017-02-27 18:49:02 +08:00
    我也觉得奇怪, 为什么这么久了,还有一些蛋疼的新项目用 py2 写
    tonghuashuai
        3
    tonghuashuai  
       2017-02-27 19:48:29 +08:00
    不还总有人说美国不行了嘛
    wohenyingyu02
        4
    wohenyingyu02  
       2017-02-27 20:09:57 +08:00
    还有人说天朝技术要赶英超美
    lastObject
        5
    lastObject  
       2017-02-27 20:26:20 +08:00 via iPhone   2
    因为懒得学吧 像我还死在 objc
    fengxiang
        6
    fengxiang  
       2017-02-27 20:37:03 +08:00
    一堆东西 2.7 写的,懒得升级,反正能跑.
    HGladIator
        7
    HGladIator  
       2017-02-27 20:38:35 +08:00 via iPhone
    不还有人说房价不涨反跌吗?
    est
        8
    est  
       2017-02-27 20:40:24 +08:00
    还要为什么?

    py3k 出来都要 10 年了。
    islandev
        9
    islandev  
       2017-02-27 20:40:26 +08:00
    还在 2.7 公司的 线上机 还是 2.7
    dsg001
        10
    dsg001  
       2017-02-27 20:46:43 +08:00
    老项目用 2.7 没毛病
    新项目还用 2.7 。。。
    neo1218
        11
    neo1218  
       2017-02-27 20:47:55 +08:00
    async .. await
    PiaInCtf
        12
    PiaInCtf  
    OP
       2017-02-27 20:53:31 +08:00
    @qweweretrt515
    @aploium
    @est
    但很多项目还是用 python2.7 写的 既然懒得升级并且也没有什么问题 python3 取代 python2.7 感觉很无力
    loading
        13
    loading  
       2017-02-27 21:07:20 +08:00 via Android
    我现在准备用 golang 重构 2.7 的几个小项目了……
    julyclyde
        14
    julyclyde  
       2017-02-27 21:21:33 +08:00
    不要学知乎那种言之无物的风格
    fy
        15
    fy  
       2017-02-27 21:30:57 +08:00
    为什么呢?因为 3 好用啊。

    2.7 赶紧随着老项目的消失而消失,省的还问这种问题……
    PiaInCtf
        16
    PiaInCtf  
    OP
       2017-02-27 21:34:06 +08:00
    @loading golang 是好
    PiaInCtf
        17
    PiaInCtf  
    OP
       2017-02-27 21:44:48 +08:00
    @julyclyde
    哈哈确实有一点知乎那种不良气息...其实只是突然之间想问一个无聊的问题 看看会收到什么理由
    给大佬们添乱了 233333
    (反正我只是用小号试试水
    terence4444
        18
    terence4444  
       2017-02-27 21:47:31 +08:00
    Python 的版本切换做得太烂了,即使有 VirtualEnv ,在外部引用的时候仍然会有用错版本的情况。
    3.4 以上版本把 py 默认值设为 2 , py -3 设为 3 ;这种情况下用 Flask 的时候,启动服务器的时会引用到 Python 27 去。
    PythonAnswer
        19
    PythonAnswer  
       2017-02-27 22:20:13 +08:00 via Android
    今天还得用 2 写两个小程序给同事用。因为要用到 gooey 。
    chenqh
        20
    chenqh  
       2017-02-27 22:42:49 +08:00
    py3 没有什么吸引力。
    wolfan
        21
    wolfan  
       2017-02-27 22:45:20 +08:00
    或许人懒了吧。
    izoabr
        22
    izoabr  
       2017-02-27 22:57:18 +08:00
    港真 PY3 迁移过去我们光是在处理字符转换那些东西就够我们熬好几个通宵的。
    airqj
        23
    airqj  
       2017-02-27 23:06:43 +08:00
    为什么安卓 IOS 新版本出来了要升级?
    CloudnuY
        24
    CloudnuY  
       2017-02-27 23:23:49 +08:00
    都怪 python 项目还在维护 2.x 版本……
    FreeDog
        25
    FreeDog  
       2017-02-27 23:41:59 +08:00
    技术都是有巨大惯性的(尤其是对于企业来说),但也在缓慢发展,例如 Java 都二十多年历史了还是很火,不过一直都有新的特性加入。
    changwei
        26
    changwei  
       2017-02-28 00:27:41 +08:00 via Android
    为什么 php5.6 和 php7 出了那么久,还有人在用 php5.2
    hjc4869
        27
    hjc4869  
       2017-02-28 00:53:47 +08:00
    python 2.7 再过几年就死了……
    ryd994
        28
    ryd994  
       2017-02-28 01:04:11 +08:00   1
    死循环:有人用->继续维护->有人继续用
    likuku
        29
    likuku  
       2017-02-28 01:12:54 +08:00
    人总是要死的,这要什么理由?

    常用模块的 py3k 支持列表,目前不支持 3 的很少了:

    Python 3 Wall of Superpowers :
    https://python3wos.appspot.com/
    paulagent
        30
    paulagent  
       2017-02-28 05:10:04 +08:00
    这种事情是难免的,每一个企业,每一个项目都是有历史背景的。不了解 context ,也没法评判为啥用 2 不用 3 。 你会看到有人给 ms 大笔的钱,只为了 ms 继续支持 xp 。
    RqPS6rhmP3Nyn3Tm
        31
    RqPS6rhmP3Nyn3Tm  
       2017-02-28 05:19:10 +08:00
    天朝都持续崩溃几十年了,结果人家先崩了
    popbones
        32
    popbones  
       2017-02-28 05:46:15 +08:00 via iPhone
    前几天需要用 tensorflow 做个图像识别的 demo ,依赖很少,心说是个用 py3 的好机会,结果官方的模型 py3 兼容有问题(主要是没有对 dict view 做调整),所以又只好降级回 py27
    GoBeyond
        33
    GoBeyond  
       2017-02-28 07:44:02 +08:00 via Android
    后者要死了
    10Buns
        34
    10Buns  
       2017-02-28 07:59:12 +08:00 via iPhone
    为何 jdk1.8 正在慢慢取代 jdk1.7/1.6 ,学啥不好学逼乎
    clavichord93
        35
    clavichrd93  
       2017-02-28 08:37:37 +08:00 via iPhone
    @popbones 同…本想用 python3 跑 mxnet ,结果 demo 就跑不通,然后果断换成 2 了…
    Gothack
        36
    Gothack  
       2017-02-28 08:44:41 +08:00 via iPhone   2
    还在用拍 2 是因为 centos 自带的是 py2 ,这是阻止 py3 发展的一个重大原因……
    yanzixuan
        37
    yanzixuan  
       2017-02-28 08:59:47 +08:00
    @Gothack 成也 redhat ,败也 redhat 。。。
    zts1993
        38
    zts1993  
       2017-02-28 09:11:29 +08:00
    因为没有一点点质得飞跃....
    duan602728596
        39
    duan602728596  
       2017-02-28 09:19:03 +08:00 via iPhone
    为什么 ECMA7 刚出来就用
    hippoboy
        40
    hippoboy  
       2017-02-28 09:21:52 +08:00 via iPhone
    用 py3.5+win7,有些 c 模块编译不了,高版本 vc 装不上?
    Morriaty
        41
    Morriaty  
       2017-02-28 09:26:30 +08:00
    为什么年轻人正在慢慢取代老年人?
    pasturn
        42
    pasturn  
       2017-02-28 09:36:12 +08:00 via iPhone
    @duan602728596 没有 babel 你试试
    tt7
        43
    tt7  
       2017-02-28 09:57:29 +08:00
    mnzlichunyu
        44
    mnzlichunyu  
       2017-02-28 10:31:07 +08:00
    升 py3 ?我还在写 2.6 呢
    vipdevipy
        45
    vipdevipy  
       2017-02-28 10:45:33 +08:00
    py3 用的挺好,其实 3 和 2 差别也不是很大。。。还好了。。用得管哪个就用哪个楼~~这有啥好谁掐死谁的。。。
    bomb77
        46
    bomb77  
       2017-02-28 11:41:12 +08:00
    我还见过线上机器默认 python 版本是 2.4 的,问我为什么写的脚本跑不了,喵喵喵?
    cxbats
        47
    cxbats  
       2017-02-28 12:29:54 +08:00 via Android
    你们猜 Python 3 普及和共产主义哪个会先实现?
    willakira
        48
    willakira  
       2017-02-28 12:47:47 +08:00
    @10Buns 港真 JVM 的版本切换坑还是比较少的 兼容性也做得还不错 我们有几个特别旧的 library 是 jre 6 的 bytecodes 在还能跑( 2010 年编译的库都还有在用)
    http://www.oracle.com/technetwork/java/javase/8-compatibility-guide-2156366.html

    python 的坑就多了…
    DinoStray
        49
    DinoStray  
       2017-02-28 12:50:37 +08:00
    我一直奇怪 repo 为什么不用 python 3 写, 如果 Google 积极推动 python 3 就好了
    lfzyx
        50
    lfzyx  
       2017-02-28 12:51:06 +08:00
    为什么 iPhone7 在取代 iPhone6
    lifeand
        51
    lifeand  
       2017-02-28 13:01:02 +08:00
    开始学习应该是 3 ,还是 2 ,怎么 2 就是老不死,~
    kaixuan1901
        52
    kaixuan1901  
       2017-02-28 13:44:58 +08:00
    因为没法快速取代
    panda1001
        53
    panda1001  
       2017-02-28 13:48:45 +08:00 via Android
    我给 py2 续一秒
    billlee
        54
    billlee  
       2017-02-28 14:20:06 +08:00
    为什么 rust 都在用 nightly
    foursking
        55
    foursking  
       2017-02-28 14:24:10 +08:00
    为什么你会问这样的问题
    timothyqiu
        56
    timothyqiu  
       2017-02-28 14:27:15 +08:00   1
    被 UnicodeDecodeError 支配的恐怖
    robinlovemaggie
        57
    robinlovemaggie  
       2017-02-28 14:27:25 +08:00   1
    guido 前不久好像说在密谋一个大动作,会不会是 py3 完全兼容 py2 ?
    PiaInCtf
        58
    PiaInCtf  
    OP
       2017-02-28 15:23:00 +08:00
    @lfzyx 好像不是同个性质的问题?
    PiaInCtf
        59
    PiaInCtf  
    OP
       2017-02-28 15:24:15 +08:00
    @hjc4869 那要等不维护了才有可能吧...比较人懒 没有到最后的时刻 没有多少觉悟
    PiaInCtf
        60
    PiaInCtf  
    OP
       2017-02-28 15:30:01 +08:00
    可以结贴了大佬们
    hjc4869
        61
    hjc4869  
       2017-02-28 15:46:39 +08:00
    @PiaInCtf 问题在于现在做的很多程序可能生命周期比 python 2 要久,比如 CentOS 7 要维护到 2024 年,可是它很多组件使用的 python 2 却只维护到 2020 年。
    robertlyc
        62
    robertlyc  
       2017-02-28 16:10:58 +08:00
    好消息 好消息 py4 不兼容 py2 和 py3 哦
    gemini
        63
    gemini  
       2017-02-28 18:01:03 +08:00
    公司定制版 linux 默认 py 2.7.x ,好几万个线上机器… 怎么更新 想想也是忧伤呀
    Gothack
        64
    Gothack  
       2017-02-28 22:11:27 +08:00 via iPhone
    @yanzixuan 是的……
    linruiyi
        65
    linruiyi  
       2017-03-01 00:38:09 +08:00
    支持 py3 的模块越来越多, py3 新特性也不错。不过如果是原本是 py2 的老项目用 py2 吧,新项目用 py3 。
    ~~~~~~为什么 php 都 7 了,还在用 php5 哈哈哈哈
    fy
        66
    fy  
       2017-03-01 00:41:20 +08:00
    @hjc4869 到时候安全性出问题 RH 自己给 py2 打补丁呗,这么多年了,也再难出现大改动的 bug 。缝缝补补自然死亡了事。
    corona
        67
    corona  
       2017-03-01 08:00:19 +08:00 via iPhone
    py3 出生的使命不就是为了替代 py2 吗
    findex
        68
    findex  
       2017-03-01 09:00:52 +08:00 via iPhone
    @mnzlichunyu 许多系统以及应用还在用 2.6 不得已而为之
    findex
        69
    findex  
       2017-03-01 09:02:32 +08:00 via iPhone
    @gemini 其实当初就该用 3 的 新项目用 3 老项目用 2 。维护而已
    xbotter
        70
    xbotter  
       2017-03-01 09:55:03 +08:00
    可能是 python 不够强势吧。 python 4 出来的时候,估计 就是 需要 区分 是 py2 , py3 ,还是 py4 了。
    mathgl
        71
    mathgl  
       2017-03-01 17:15:52 +08:00
    我在等 pypy 3
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana   nbsp; 5625 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 32ms UTC 06:38 PVG 14:38 LAX 23:38 JFK 02:38
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86