python - 我应该使用什么版本的 Python 来开发 Web 应用程序?

标签 python portability forward-compatibility

目前我的系统上安装了 Python 3.1.1,我的服务器上的版本与运行在 Apache 2.2 上的 WSGI 3.0 相同。

我想继续使用 Python 3.1,但我发现很多库/框架还不支持它,即 Django、Pylons、MySQLdb 等。

我还检查了我在 friend 服务器上的一个帐户,它运行的是 Python 2.3.4...

我想编写一种可以扩展为 CMS 的博客/论坛类型的应用程序,并最终为其编写相关的桌面应用程序,作为一个长期的宠物项目。

我想尽可能使用最新版本的 Python,以获得最佳安全性和与 future 桌面应用程序的最高一致性,同时仍保持良好的可移植性,并支持我将要使用的大多数框架和库使用。

但我不知道应该选择哪一个。似乎 2.4 具有最大的可移植性,但它有点旧,我不想结束使用一堆无法编译的后 2.4 功能,并且不得不用更困惑的代码重新编写以补偿它。 2.6 会更好,但似乎很多库仍在移植到那个版本,而 3.1 会是最好的,因为它消除了语言中的很多障碍。

我想强调的一件事是,如果我选择旧版本的 Python,那么很高兴知道我会丢失什么。例如,如果我需要我的应用程序在我 friend 服务器上的旧 Python 2.3.4 帐户上运行,我会缺少哪些新版本中存在的库/功能?我肯定会遇到哪些问题会让我希望我使用的是 Python 2.6 或 3.1?以下哪些功能可通过 __future__ 导入使用?

那么,最好的方向是什么?我应该只使用 2.6 并处理任何问题吗?我是否应该使用 2.4 来最大化我可能将其分发到共享主机环境的能力?或者我应该直接跳到 3.1 并有一个稍微有问题的应用程序,直到像 MySQLdb 这样的库 catch 来?

最佳答案

目前,Python 3 尚未广泛部署在生产环境中。取决于你使用 Python 的目的。如果它只是一次性脚本,那么无论哪种方式都可以,如果想法是使用第三方模块、C 模块和/或轻松部署,则选择任何 2.4+ 版本。许多项目努力保持 2.3 的兼容性,但使用 2.4-2.6 应该没有任何问题,因为语言的变化很小。如果可以,请使用 2.6,因为它最接近 Python 3,因为它向后移植了一些功能。

Python 3 的问题是第 22 条军规:

  • 大多数有用的第三方模块仍未移植到 3,因为开发人员正在等待广泛使用,
  • 人们无法迁移,因为他们依赖的模块还没有迁移,这让 sage 保持低水平。

使用 2.4-2.6 中的任何一个都不应该有任何问题,给 3 一些时间。

使用 Python 2.6

关于python - 我应该使用什么版本的 Python 来开发 Web 应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2322176/

相关文章:

python - 使用cython来早期类型化类属性

python - pandas 插值不适用于日期索引

python - re.findall() 无法在另一个文件中找到一个文件中的行

java - 从 Java 程序,可移植的方式来编写带重音的字符串

c++ - 如何处理不断发展的 C++ std::namespace?例如:std::tr1::shared_ptr 对比 std::shared_ptr 对比 boost::shared_ptr 对比 boost::tr1::shared_ptr

python - 使用 f 字符串替换字符串中的单词

python - 在 Windows 上使用内置 python 构建软件安装程序

java - 为什么有些框架拒绝放弃对古老 Java 版本的支持?

protocols - 存储大小受限协议(protocol)的前向兼容性