为什么赢了';你不能切换到Python3.x吗?
我这样问是出于可部署的原因。如中所示,如果我用python编写一个解决方案,我觉得由于没有采用Python3,我一定要编写到2.x。这是我每天关心的一个主要问题,我想知道发生了什么 对于这里的许多基于python的问题,人们给出的解决方案在Python3.x中根本不起作用 因此,我要问一个问题:是什么阻止了您在个人或工作环境中切换到Python3.x?转换脚本是存在的,但是程序员(他们通常是所有东西的最早采用者)似乎拒绝升级 为什么?为什么赢了';你不能切换到Python3.x吗?,python,deployment,python-3.x,Python,Deployment,Python 3.x,我这样问是出于可部署的原因。如中所示,如果我用python编写一个解决方案,我觉得由于没有采用Python3,我一定要编写到2.x。这是我每天关心的一个主要问题,我想知道发生了什么 对于这里的许多基于python的问题,人们给出的解决方案在Python3.x中根本不起作用 因此,我要问一个问题:是什么阻止了您在个人或工作环境中切换到Python3.x?转换脚本是存在的,但是程序员(他们通常是所有东西的最早采用者)似乎拒绝升级 为什么? 编译的第三方模块尚未更新 不同语法 较慢的整数 freeno
当他们有我大脑的升级脚本时给我回电话。[编辑2014年10月3日:这个答案现在已经过时。Django已经支持Python 3一段时间了。] [但是,还必须注意,许多django项目中使用的django第三方软件包和扩展处于Python 3兼容性实现的不同阶段。可以在其中找到跟踪各个项目状态的更多详细信息。] Django尚未过渡到3.0。这就是我需要知道的全部 相关问题
这些问题的大部分答案都反映了同样的观点。除了Django之外,还有太多的框架/库——WxPython、PyGame、Django等等——仍然没有采用它。我敢肯定在他们采取行动之前不会采取行动。因为我的代码库所依赖的主要库尚未发布3.x版本。(wxPython、matplotlib、numpy等) 因此,在我看来,责任在上游
如果我所有的依赖项都是3.x兼容的,我现在可能已经切换了。第三方工具和库。我很难在2.6下实现某些功能(请注意,这不是很多问题,但也有一些问题) 在我看来,生态系统是Python最大的优势之一,在这一点上,3.0将使很多功能消失。(一年后,我相信故事会完全不同。)
(显然,这里有一个鸡和蛋的问题,但幸运的是,这不是我要解决的问题,所以我将使用2.6一段时间。)因为Mac OSX Leopard上默认安装的2.5工作正常。我不需要升级,我认为除了结束unicode的困境之外,升级没有任何好处。如果您有兴趣迁移到Py3k,一个有趣的方法是用Py3k编写代码,并使用3to2脚本,该脚本现在正在作为Google Summer of code项目的一部分编写,在2to3脚本行中。我使用最多的操作系统Debian没有Python 3包,甚至在“不稳定”(全新)分支中也没有。除非我自己编译它(相当于20世纪),否则它对我来说就没有Python3
我敢打赌,许多操作系统都存在同样的问题。不幸的是,与大多数其他人所说的原因相同——第三方库仍然没有与3.0兼容。 由于这个原因,以及一些GNU/Linux发行版(在我的例子中是Ubuntu)仍然附带Python2.6,我还不能完全将2.x抛出窗口 然而,对3.0的更改在我看来并不是一个主要的更改。除了“print”是一个函数和新的字符串格式系统之外,它实际上与以前差不多 事实上,我发现我的大多数旧脚本(那些不依赖于3.0不兼容的第三方库的脚本)在我更新所有打印和字符串格式后,都能在3.0中完美地工作。在某些情况下,我还不得不更改一些模块名称(特别是来自“电子邮件”模块的内容),但除此之外,没有什么大不了的
此外,到目前为止,我为3.x兼容性而更新的所有脚本在2.6中似乎仍然可以完美地工作(当然不是旧的2.x,因为它们缺少新的3.x语法)。由于缺乏向后兼容性,切换很困难,特别是在涉及C代码的情况下。虽然我知道unicode/string对某些人可能非常有用,但我自己肯定不在乎它
基本上,Py3k并没有解决我所关心的许多问题(分发问题、模块版本控制、简化的导入模型)。我不切换的主要原因是,这么多书籍和编码挑战网站仍然是2.x。我安装了3.x,很快就意识到我必须卸载并转到2.x。Python3+不支持numpy。
更正:现在是这样。因为它现在支持mathplotlib。较慢的整数–真的吗?我知道整数和日志是统一的,所以这对我来说似乎是合理的,但这是我第一次听说它。你能给我一个参考号吗?我懒得把它挖出来,但是int和long被统一是它变慢的原因。所以投票支持我。因为这个:你的担心可能是没有道理的。Guido Van Rossum表示,python的2.6系列将在未来几年内得到维护。也就是说,Python 3000刚刚推出,所以升级并不急。@DanatheSane:现在2.7将成为最终的2.x系列。+1另外,对于OP,有一个python3.0标记,当您需要Python 3的特定答案时,可以提问。Django现在计划在其路线图中迁移到Python 3。@Mechanicalsnail:支持Python 3。不迁移到。您可以随时查看python3.1包