最近,我在开发Django web应用程序时发现,出于某种原因,Django只在使用python2.x时才能工作。解释器,但一直以来,我都认为它是为Python 3配置的,因此是这样编码的。
所以我用print(sys.version())测试了它,当Python2.7发布时我很惊讶。经过一番研究,我发现Django使用了六模块。我的第一个问题是为什么Django使用这个?除了让程序员变得更容易之外,还有其他原因吗?我的第二个问题是,既然我一直把它当作Python 3,那么我是否应该回去修改代码,使其成为纯Python 2呢?或者这不重要?
附注:我有点理解六人是如何工作的,但如果能多了解一点,那就太好了。
谢谢。
发布于 2015-09-15 05:06:17
Django 1.5是支持Python3的第一个版本,同样的代码运行在Python2 (≥2.6.5)和Python3 (≥3.2)上,这要归功于六个兼容层。
如果以Python ≥ 2.6为目标,编写兼容的代码要容易得多。Django 1.5引入了兼容性工具,如django.utils.six,这是六个模块的自定义版本。为了方便起见,在Django 1.4.2中引入了前向兼容的别名.如果您的应用程序利用了这些工具,它将需要Django ≥ 1.4.2。
有关更多内容,请通过移植到Python 3阅读
发布于 2015-09-15 06:44:32
您的系统使用的Python版本与没有任何关系,与这六个模块没有任何关系。Django内部使用它可以同时处理2.7和3.x。
如果您想在本地使用Python 3,则需要对系统进行配置。例如,这可能意味着使用Python 3创建您的虚拟环境。
https://stackoverflow.com/questions/32577721
复制相似问题