[x 经] 现在已经是 Python 3 的时代了么?

2016-09-19 09:01:19 +08:00
 elviscai
零基础开始学 Python ,主要场景是快速构建 WebApp 。
7586 次点击
所在节点    Python
56 条回复
sylecn
2016-09-19 12:01:02 +08:00
今年开始,默认新项目都切换到 python 3 了。

各种平台、软件和库对 python 3 的支持会越来越好。最流行的库会保持同时支持 2 和 3 ,但是小一点的库以后也许就只有 python 3 的支持了。

python 3 每个新的小版本都在加速这个转化过程。因为这个语言的一切新活力都在 python 3 里面了。 python 2 已经是明日黄花。现在各种 backport 的努力只是因为历史原因。但是总有东西是没有办法 backport 到 2 的,比如 await/async syntax 。

另外,对于大项目, 2 转化到 3 不是小时级别能完成的事,起码要按天来算。转化坑还是挺多的。对于单元测试不完整,或者没有单元测试的项目,强烈建议就不要转了,转好了估计跑的时候会有很多问题。
scipio
2016-09-19 12:20:03 +08:00
去年开始入 Python 的坑,上手学的就是 Py3 。看到这些讨论,我很欣慰~
Geoion
2016-09-19 12:23:59 +08:00
最近 QQ 群里被很多新手问编码的问题,赶紧推荐了一波 py3 ,问问题的人明显少了很多
CarlWangCn
2016-09-19 12:35:41 +08:00
protobuf, 很难切换到 3
Trim21
2016-09-19 12:41:54 +08:00
@Geoion 再安利一下 chcp 65001 ,又能少一大些
sylecn
2016-09-19 12:47:00 +08:00
@CarlWangCn 官方新版已经支持了。官方没支持之前也有第三方发布的支持 python 3 的库。 bytes 和 str 分离对 protocol buffer 是更有利了,这个库本身支持 python 3 本来也不难。

https://github.com/google/protobuf/issues/7
https://pypi.python.org/pypi/protobuf/3.0.0b2
kaneg
2016-09-19 13:44:48 +08:00
今年好不容易把产品中的 Jython2.5 升级到 Jython2.7. 如果都跑到 3 上去,让压根就没有 3.0 的 Jython 情何以堪。
markx
2016-09-19 13:49:32 +08:00
希望各社区要吸取经验,升级不能太激进啊,不然迁移成本太高用户不买帐。
mikicomo
2016-09-19 17:06:11 +08:00
@markx python 社区估计也就这么一次大动作,以后也不会这么来了吧, 4 开始都会做好对 3 的向后兼容,可能是以前社区的 dalao 觉得 2.x 问题太多,设计不优美,干脆切了重来,结果各位 dalao 也是蛋疼了这么多年 23333
ry_wang
2016-09-19 19:40:23 +08:00
supervisor 这么多年了是到死也不打算支持了么
ansible 这浓眉大眼的竟然也不支持。。。。。
workwonder
2016-09-19 19:53:42 +08:00
@ry_wang supervisor 不是可以用 systemd 替代码,后者已经成为多数 Linux 发行版的新选择。
YvesX
2016-09-19 21:04:31 +08:00
撑过来就是好事。
guyskk
2016-09-19 23:17:26 +08:00
新造的轮子不少是只支持 py3 的,写同时兼容 2 和 3 的代码太蛋疼了, Python 3 is the future 。
ad0be
2016-09-19 23:57:15 +08:00
从廖雪峰的 Py3.5 开始看着学的~感觉 Py3 是趋势
neoblackcap
2016-09-20 00:06:03 +08:00
感觉 3.5 好的 aync/await 实在是优势很明显的特性,很多人都用了,而且加上标准库里面的 asyncio 模块,自己写一个高性能异步框架也是分分钟的事情。实在没有理由留恋 2.7
SlipStupig
2016-09-20 00:27:02 +08:00
宁愿选择 Golang 也不转 Py3 , py3 根本就没什么优势啊
ooh
2016-09-20 04:58:21 +08:00
想当年我敲 hello world ,报错一个星期,还是去老表家玩,老表告诉我是怎么回事 当年我就敲了个 print('hello world') 而已,现在老表做编译器方面,我做 PHP 方面,那也是我们唯一一次谈论编程...
chenqh
2016-09-20 08:06:37 +08:00
为什么我觉得 3 是个史前巨坑。。 async/await 配套的库不知道要能弄多久呢。。
在说了。。 async/await 只能提高 web 效率而已,像我这种只会用框架的人来说, async/await 有什么用?
fhefh
2016-09-20 08:29:24 +08:00
先 mark~~~
dsg001
2016-09-20 08:54:28 +08:00
gevent , scrapy 都支持 py3 了,而且现在的 3.5 直接 32 、 64 整合,自动选择

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/307147

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX