我一直在学习python已有一段时间了。在开始这个“学习python”的过程中,我决定学习最新最好的3.1版本的python。我现在后悔这个决定,因为我想尝试一些python web开发框架&看起来他们中的许多人不支持3.1而且&它看起来可能需要数年才能支持新版本的Python,特别是Django和TurboGears。这真的很令人失望。因此,对于SO用户,你有什么建议我在3.1上运行的web框架并支持一些现代的(我想我永远不会学习;-))web框架功能,如MVC / ORM / URL路由/缓存等
答案 0 :(得分:5)
如何尝试Python2.7 ?,许多python 3.x功能最近被移植到2.7,如OrderedDict,更快的io模块,设置理解,字典理解等......
根据我的经验,Python 2.7在使用django 1.2 trunk版本时完全没有问题。
在我看来,学习新框架将比从Python2.x切换到Python3.x需要更多的时间,所以选择一个框架,并继续使用python 2.x并在时机成熟时将其切换到3.x.
答案 1 :(得分:3)
与其他人一样,我建议你从Python 2.6.x开始 - Python 2.7将在今年夏天发布,尽管你今天可以获得alpha或beta版本。
尽管Python 3.x与2.x向后兼容,但Python语法不会无法识别......几乎所有内容都非常类似于2.x,但是当时很容易破解代码print
从语句更改为函数。所以现在不要担心Python 3。正如其他人所提到的,你可以立即开始使用大量适用于Python 2.x的Web框架。
另外,仅仅因为编号,不要因为认为Python 2以任何方式过时而被愚弄,也不能连续遵循时间表。换句话说,Python 2.7将比Python 3.0和3.1更新。 (3.2将在今年年底之前发布。)同样,Python 2尚未EOL'd - 2.x和3.x正在积极开发。
工业世界仍在Python 2.x上运行; 3.x的出现提醒我们下一代就在这里,这是所有低级基础架构和框架应该开始移植工作的时间,这样我们最终都会迁移。
如果您想了解更多关于Python 2,Python 3之间的关系以及两者之间的变化/差异以及时间轴和迁移的信息,您可以查看我今年早些时候写的这篇在线文章:< / p>
“Python 3:编程语言的演变”
http://www.informit.com/articles/article.aspx?p=1328795
我还在2月的PyCon 2010上就这个主题发表了演讲。您可以在此处访问视频和幻灯片:
http://us.pycon.org/2010/conference/schedule/event/29/
答案 2 :(得分:2)
CherryPy 3.2(仍在使用)将在Python 3.x上运行
在使用2to3之后,Bottle也可以在Python 3.x上运行。容易做,它确实有效。但是,Bottle不是一个“完整的框架”,但它易于使用。
编辑:
我在Python 3.1中使用了Bottle,对于我正在慢慢研究的游戏来说,无格式的python 3.1。但是在工作中,我只是使用Python 2.6很快我将使用Webpy。
我所使用的网站是PHP,但是当我需要添加一个新功能时,我可以轻松地从所有PHP代码中分离出来,我将在python中完成。即使我几乎每天都使用PHP并且每月只使用几次Python,我仍然可以在Python中比PHP更快地完成任务:)
答案 3 :(得分:1)
Python 2.6和Python 3.1实际上并没有那么不同,我只是建议你学习两者,特别是因为Python的两个分支将共存一段时间......所以最好只学习细微差别。文档“What's New in Python 3.0”解释了2.6和3.0之间的大部分差异。
答案 4 :(得分:1)
(是)实际上是Py3k的Django端口。
http://bitbucket.org/loewis/django-3k/
我还记得很高兴在django-developers邮件列表上读过关于将Django移植到py3k的大学项目的线程,但我目前找不到该帖子。
修改强> 哦,这是:
https://bitbucket.org/fiji/django-3k/
该项目由多伦多大学的学生领导。 : - )
<强> EndEdit中强>
查询类似“Django py3k port”的内容会带来一些有用的结果。
另请查看以下网址: