有多大的理由坚守 Python2? - 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
strahe
V2EX    Python

有多大的理由坚守 Python2?

  •  
  •   strahe 2016-03-18 22:38:46 +08:00 7208 次点击
    这是一个创建于 3573 天前的主题,其中的信息可能已经有所发展或是发生改变。

    除了老项目迁移成本之外,新项目还有多大的理由坚守 Python2?

    如果写惯 3 的再回去写 2(不是自愿),会是什么心理?

    第 1 条附言    2016-03-19 19:02:33 +08:00
    你们坚守 2 的理由成立,可以不用回复了.
    53 条回复    2016-03-21 00:03:39 +08:00
    menc
        1
    menc  
       2016-03-18 22:49:15 +08:00
    不推荐,不应该,不希望回到 2 ,除非有难言之隐
    ibigbug
        2
    ibigbug  
       2016-03-18 22:50:53 +08:00
    不想学 3 , 2 够用
    knightdf
        3
    knightdf  
       2016-03-18 23:03:09 +08:00
    因为 2 对我来说够用,没什么问题。。
    vdo
        4
    vdo  
       2016-03-18 23:07:26 +08:00   4
    有啥理由迁移去 3...
    gfreezy
        5
    gfreezy  
       2016-03-18 23:28:35 +08:00
    pypy
    strahe
        6
    strahe  
    OP
       2016-03-18 23:37:18 +08:00
    @menc 恩,我感觉 3 并不只是改了几个语法那么简单,要体会了才知道,那帮开发者又不是傻子
    fy
        7
    fy  
       2016-03-18 23:48:04 +08:00
    月经贴,有什么理由呢?愿意用就用,不愿意就不用,反正我更喜欢 3
    hosiet
        8
    hosiet  
       2016-03-19 00:05:26 +08:00 via Android
    又是月经贴……

    不算远的将来必将停止支持这点算不?
    billlee
        9
    billlee  
       2016-03-19 00:24:06 +08:00   1
    因为有的人只是刚好得到了写代码这份工作
    AndyCrz
        10
    AndyCrz  
       2016-03-19 00:34:35 +08:00
    你有多大勇气换到 3 上面去?
    dawncold
        11
    dawncold  
       2016-03-19 06:28:55 +08:00 via iPhone
    依赖不升级
    lc2class
        12
    lcj2class  
       2016-03-19 07:24:24 +08:00 via iPhone
    cent os 默认还是 2.6 来
    sinux
        13
    sinux  
       2016-03-19 08:06:39 +08:00   3
    人家 Javascript es5 > es6 > es7 马不停蹄,这边写 Python 的居然还有一群人明明没什么依赖强行留在旧版本宣誓自己的忠诚,甚至还把 2 和 3 的那点语法区别搬出来作为一个理由 23333
    shyling
        14
    shyling  
       2016-03-19 08:35:16 +08:00 via iPad
    @sinux 毕竟一个向前兼容。。一个。。。。
    yeyeye
        15
    yeyeye  
       2016-03-19 08:44:56 +08:00
    @lcj2class 哥们…… 你可以不知道 centos7 自带的是什么版本 但是 不要误导别人
    yeyeye
        16
    yeyeye  
       2016-03-19 08:45:41 +08:00
    这有啥的 还有一群人在坚守 VB6 呢,要是 VB6 有多线程,坚守的人会更多
    workwonder
        17
    workwonder  
       2016-03-19 09:42:28 +08:00 via Android
    不向前兼容也不推过度版本作警告,这不是耍流氓嘛
    leitwolf
        18
    leitwolf  
       2016-03-19 09:52:22 +08:00
    用 golang 就好了
    sandideas
        19
    sandideas  
       2016-03-19 09:56:53 +08:00 via iPhone
    能解决问题就好。
    人有不傻,如果换 3 的利益大于用 2 的。自然就换了
    EPCoo
        20
    EPCoo  
       2016-03-19 10:00:55 +08:00 via iPhone
    刚入门的小白问一下,如何让没有安装 Python3 的 MAC 运行 Python3 的文件?不然还不是要去用 Python2.x 写?
    momo1999
        21
    momo1999  
       2016-03-19 10:04:13 +08:00
    est
        22
    est  
       2016-03-19 10:04:42 +08:00
    @sinux 如果 es7 宣布字符串只能用单引号,双引号全部作废,然后性能下降 20% 你还用 es7 不?
    mink
        23
    mink  
       2016-03-19 10:06:13 +08:00
    写 2 和 3 兼容的 有那么难么
    tabris17
        24
    tabris17  
       2016-03-19 10:11:08 +08:00
    本来 gevent 不支持 3 ,现在支持了,没有理由了
    MinskyNg
        25
    MinskyNg  
       2016-03-19 10:12:23 +08:00
    以前是因为 scrapy 和 gevent 不支持 py3 ,但是现在都支持了
    0x1406F40
        26
    0x1406F40  
       2016-03-19 10:17:05 +08:00
    已经从 3 迁移回 2
    magicdawn
        27
    magicdawn  
       2016-03-19 10:45:55 +08:00
    chrome v8 使用 gyp 去 build ,于是 nodejs 涉及到 c/c++部分都是用 node-gyp 去 spawn python 进程。。。
    只支持 2 。。。
    strahe
        28
    strahe  
    OP
       2016-03-19 11:34:15 +08:00
    @sinux 其实没必要跟他们争了,我过来不是问的,只是发个牢骚,那些坚守 2 的其实大部分根本没写过 3,或者根本没体会过 3,只有一小部分体会过 3,但是还是觉得 2 合适,这样的人我是钦佩的,其他人,没什么好争的.
    xuboying
        29
    xuboying  
       2016-03-19 11:52:55 +08:00 via Android
    wxpython 算不算一个理由
    wodemyworld
        30
    wodemyworld  
       2016-03-19 12:46:45 +08:00
    print 加括号了。。。。。。
    merito
        31
    merito  
       2016-03-19 13:07:22 +08:00
    @EPCoo 然而用自带的 python2 时, pip 还得要权限。不如装个 homebrew ,干净整洁
    workwonder
        32
    workwonder  
       2016-03-19 13:25:21 +08:00 via Android
    不知以后社区会不会 fork 出一个分支来兼容 2 和 3
    kidlj
        33
    kidlj  
       2016-03-19 13:39:23 +08:00 via Android
    strahe
        34
    strahe  
    OP
       2016-03-19 14:17:02 +08:00
    @workwonder 2 过几年官方都不支持了还有必要吗 现在都不更新了只维护
    yonka
        35
    yonka  
       2016-03-19 14:35:06 +08:00
    既然爱 py ,就不要害他(继续分裂下去)
    Neveroldmilk
        36
    Neveroldmilk  
       2016-03-19 15:10:53 +08:00
    越早迁移 Py3 越好,大势所趋。
    aljun
        37
    aljun  
       2016-03-19 15:12:40 +08:00 via iPhone
    我觉得 2 的话,包多,而且用着习惯,性能还行
    WangYanjie
        38
    WangYanjie  
       2016-03-19 15:49:07 +08:00
    有啥理由要迁移到 3 ?
    shyling
        39
    shyling  
       2016-03-19 16:00:36 +08:00
    说实在。。 2 用起来足够了。。去 pypi 装一个库,它至少都支持 cpython2 。。。 python3 bytes,str 傻傻分不清
    RqPS6rhmP3Nyn3Tm
        40
    RqPS6rhmP3Nyn3Tm  
       2016-03-19 16:03:20 +08:00
    ggjjl1
        41
    ggjjl1  
       2016-03-19 16:14:19 +08:00
    现在大部分 linux 自带的 python 版本都是 2.7 的吧,这个理由够吗
    zhtsuc
        42
    zhtsuc  
       2016-03-19 18:04:17 +08:00
    3 改动太多,没必要学
    tonghuashuai
        43
    tonghuashuai  
       2016-03-19 18:39:37 +08:00 via iPhone
    有多大理由去用 3 呢?
    onelove
        44
    onelove  
       2016-03-19 19:07:29 +08:00 via iPhone
    我怕搞混了,现在只学 2 。。。
    workwonder
        45
    workwonder  
       2016-03-19 19:11:22 +08:00 via Android
    @strahe 这么说吧,我个人是很追新的。
    但是生产环境你升级对你有什么现实意义呢?为什么不能逐渐 deprecated 来完成升级呢?
    所以很有现实意义。
    workwonder
        46
    workwonder  
       2016-03-19 19:13:07 +08:00 via Android
    所以,即使 js 用到 es6 了, Python3 都懒得看,感觉这么做不对头。
    noli
        47
    noli  
       2016-03-19 19:27:58 +08:00
    py2 py3 并存不是很难的事情吧?很难理解为什么要坚守或者放弃……

    顺便 @EPCoo , mac 上可以以完全不影响 py2 的方式来装 py3 例如 用 homebrew
    loading
        48
    loading  
       2016-03-19 21:56:02 +08:00 via Android
    新项目用 py3 没问题,但是我准备一直用 py2 ,然后换语言!

    我能控制的服务器只有几台,都已经在跑 py2 ,懒得搞环境。
    jadecoder
        49
    jadecoder  
       2016-03-19 22:34:52 +08:00
    没有足够的好处让我换到 Python3 。坏处倒是有,运维没搞过 3 的环境,强行推的话,运维不情愿,不好好做,出事故了还要把锅甩我头上
    geeklian
        50
    geeklian  
       2016-03-20 11:47:49 +08:00
    其实 py2 和 py3 没差...

    1. 听领导的。
    2. 自己是领导,爱用啥用啥。
    Aspx
        51
    Aspx  
       2016-03-20 17:16:46 +08:00 via Android
    3 和 2 差距很大么?一群人一直抓那点差别说事,有意思嘛?
    jimzhong
        52
    jimzhong  
       2016-03-20 18:35:12 +08:00
    自己写东西都用 Py3 ,因为 unicode 问题。
    janxin
        53
    janxin  
       2016-03-21 00:03:39 +08:00 via iPad
    用 python3 起码要给 pypy3 捐个款了…
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     3750 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 31ms UTC 10:18 PVG 18:18 LAX 02:18 JFK 05:18
    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