|  |      1strahe      2016-03-11 11:06:10 +08:00 反正我是一直追 3 的 | 
|      2tairan2006      2016-03-11 11:24:43 +08:00 更换的性价比太低。。 | 
|  |      3zhouquanbest      2016-03-11 11:26:12 +08:00 然并卵 只能自己的 project 偷着乐 | 
|  |      4virusdefender      2016-03-11 11:40:41 +08:00 最近写爬虫用了下,确实没再遇到编码问题。但是以前的 web 项目仍然在继续使用 2 。 发现 PyCharm 对 3 的支持不是很好,很多自动提示都没了,而且还有 bug 。 | 
|  |      5glasslion      2016-03-11 11:46:27 +08:00 scrapy 已经支持 python3 了 | 
|  |      6janxin      2016-03-11 11:58:17 +08:00 现在其实对个人而言编码问题并没有这么严重(不做爬虫),实际上更换 Py3 之后性能没有任何提升反而有情况下性能下降是最大的升级阻碍,这个对线上系统而言完全不划算的生意。 最后唠叨一下 fabric 啥时候开发完新版啊.... | 
|  |      7initialdp      2016-03-11 12:01:52 +08:00 阻挡 3 的是兼容性,是企业已有项目的迁移成本。 | 
|  |      8jy02201949      2016-03-11 12:01:58 +08:00 毕竟 3 是为了解决 2 臃肿、编码等很多问题才诞生的 | 
|  |      9raptor      2016-03-11 12:02:05 +08:00 说一个 py3 的编码问题吧: logging 默认输出到 console 的 logging 是采用系统编码,而直接写入 str(即 unicode)会出错,转成 utf-8 则变成 bytes ,在 console 上显示永远是不对的,只能用 FileHandler ,因为这个可以设置 encoding ,才能得到正确的结果。 | 
|  |      10whisperzzzz      2016-03-11 12:02:24 +08:00 (内心)旧的坑踩的差不多了……谁知道新的坑会有多少…… (说出来的话) Python 2 真是好 TM 蠢啊( | 
|  |      11raptor      2016-03-11 12:02:59 +08:00 还有一个编码相关的问题就是跟加密相关的函数,全都不支持 str(unicode),必须手工转成 bytes 才能用。 | 
|  |      12MrEggNoodle      2016-03-11 12:12:09 +08:00 3 取代 2 是时间的问题,好像 py 团队对 2.7 的支持会持续到 19 年,然后全部转向 3 的了。只是现在企业就要看自己转变的性价比有多高, 3 会越来越好, 2 已经没有新特性引入了。其实 2.7 已经兼容了不少 3 的特性的了。 | 
|  |      13congeec      2016-03-11 12:21:35 +08:00 @janxin 性能? Python 3 最大的性能损失在字符串处理吧。另外好多 Python 3 效率更高的模块模块没有移植到 Python 2 ,比如 os.scandir 。 OrderedDict 在 3 里也用 C 重写了 | 
|  |      14wizardoz      2016-03-11 13:09:34 +08:00 单从语言的角度来讲当然是 Python3 比 Python2 好。但是有很多很有用的库尚不支持 Python3 ,所以很多时候只能选择 Python2 | 
|      15neoblackcap      2016-03-11 13:30:18 +08:00 @raptor Python3 里面的 str 函数相当于 Python2 里面的 unicode ,加密函数之前都是用 str 也就是 Python3 里面的 bytes,因此需要类型转换也是很符合常理的。 | 
|  |      16yy77      2016-03-11 13:59:04 +08:00 关键是 pypy 很长时间都支持 python2 ,现在虽然有了 python3 的支持,但是对比 python2 的版本依然很不成熟。多少计算密集的应用和库能够放弃 pypy 啊。 | 
|      17xchange      2016-03-11 14:02:08 +08:00  2 现在公司所有项目都在用 Python 3.5 ,很开心 | 
|  |      18ericls      2016-03-11 14:04:21 +08:00 via iPhone 用了一年多 3 了 没遇见过任何问题 不知道那些说 3 很多不兼容的问题哪里来的 | 
|  |      20jugelizi      2016-03-11 14:09:19 +08:00 新项目当然可以去用 已有的去迁移成本未未知啊 | 
|  |      21likuku      2016-03-11 14:13:35 +08:00 遇到老系统只有 py3.1 ,结果好几种 mysql 模块支持的最低版本 3 都比 3.1 高, 最后为了及时解决问题,还是直接用回 py2.7 。 某些旧系统发行版最高也就 py3.1 了。 | 
|  |      22fy      2016-03-11 15:43:25 +08:00 @virusdefender 并没有发现 pycharm 失灵…… pycharm 一直在跟进最新版本啊。 python3.3 以后基本成熟,用的很开心 | 
|  |      23virusdefender      2016-03-11 15:47:43 +08:00 @fy 不是失灵,而是没有 Python2 智能了,不知道为什么 | 
|  |      24mathgl      2016-03-11 17:52:47 +08:00 我在等 pypy | 
|  |      25ahxxm      2016-03-11 22:38:29 +08:00 @virusdefender maybe you need to choose python3 interpretor? (shurufa huai le .. ) | 
|  |      26virusdefender      2016-03-11 22:42:28 +08:00 via Android @ahxxm 我当然选了 | 
|      27em3rge      2016-03-11 22:43:26 +08:00 @virusdefender then what kind of smart do you want? | 
|  |      28Pastsong      2016-03-11 22:44:37 +08:00 我们都这么觉得 | 
|      29em3rge      2016-03-11 22:47:59 +08:00 @virusdefender 我一直就只用 refactor 和自动补全,没有遇到过什么问题,感觉完全满足需求。。就写 2/3 兼容代码时候没有 type annotation 有时候会没提示 | 
|  |      30virusdefender      2016-03-11 22:51:05 +08:00 via Android @em3rge 我写的 django | 
|      31em3rge      2016-03-11 22:54:42 +08:00 @virusdefender 试试用 def func(param: int) -> bool 这个语法 | 
|      32zaishanfeng      2016-03-11 23:01:35 +08:00 via Android 然而实际项目很少有人用 3  除了编码问题 真的没有必要换  再说了连个编码都搞不定 怎么艹 | 
|  |      33Feiox      2016-03-12 10:05:32 +08:00 用 2 的好处,唉, pypy 啥时候支持 3.4+ 啊。。。 | 
|  |      34gamexg      2016-03-12 12:40:11 +08:00 迁移麻烦,虽然 py3 过了测试,但是还是不敢迁移,测试不能覆盖所有情况。 | 
|  |      35raptor      2016-03-12 23:41:28 +08:00 @likuku 旧系统的确坑,换成 py2 有时也会被坑,比如某些系统里的 py2 居然还是 2.4 … 不过不是太旧,能跑 docker 的系统还是可以有选择的。 | 
|      36fbwfbi      2016-03-18 02:13:24 +08:00 一直用 python3 写了一年多的项目,之前 py2 的那些不兼容的地方反而忘了 | 
|  |      37leafonsword      2017-07-04 10:07:34 +08:00 django 官方建议用 Python 3,checkio 只支持 Python 3,是时候换到 Python 3 了 |