《Python高手之路》——第 1 章 项目开始 1.1 Python版本

简介:

本节书摘来自异步社区《Python高手之路》一书中的第1章,第1.1节,作者[法]Julien Danjou(朱利安•丹乔), 王飞龙 译,更多章节内容可以访问云栖社区“异步社区”公众号查看。

第 1 章 项目开始

1.1 Python版本

你很可能会问的第一个问题就是:“我的软件应该支持Python的哪些版本?”这是一个好问题,因为每个Python新版本都会在引入新功能的同时弃用一些老的功能。而且,Python 2.x和Python 3.x之间有着巨大的不同,这两个分支之间的剧烈变化导致很难使代码同时兼容它们。本书后面章节会进一步讨论,而且当刚刚开始一个新项目时很难说哪个版本更合适。

  • 2.5及更老的版本目前基本已经废弃了,所以不需要再去支持它们。如果实在想支持这些更老的版本,要知道再让程序支持Python 3.x会更加困难。如果你确实有可能会遇到一些安装了Python 2.5的老系统,那真没什么好办法。
  • 2.6版本在某些比较老的操作系统上仍然在用,如Red Hat企业版Linux(Red Hat Enterprise Linux)。同时支持Python 2.6版本和更新的版本并不太难,但是,如果你认为自己的程序不太可能会在2.6版本上运行,那就没必要强迫自己支持它。
  • 2.7版本目前是也将仍然是Python 2.x的最后一个版本。将其作为主要版本或主要版本之一来支持是正确的选择,因为目前仍然有很多软件、库和开发人员在使用它。Python 2.7将被继续支持到2020年左右,所以它很可能不会很快消失。
  • 3.0、3.1和3.2版本在发布后都被快速地更替,并没有被广泛采用。如果你的代码已经支持了2.7版本,那么再支持这几个版本的意义并不大。
  • 3.3和3.4版本都是Python 3最近发行的两个版本,也是应该重点支持的版本。Python 3.3和3.4代表着这门语言的未来,所以除非正专注于兼容老的版本,否则都应该先确保代码能够运行在这两个最新的版本上。

总之,在确实有需要的情况下支持2.6版本(或者想自我挑战),必须支持2.7版本,如果需要保证软件在可预见的未来也能运行,就需要也支持3.3及更高的版本。忽略那些更老的Python版本基本没什么问题,尽管同时支持所有这些版本是有可能的:CherryPy项目(http://cherrypy.org )支持Python 2.3及所有后续版本(http://docs.cherrypy.org/stable/intro/install.html)。

编写同时支持Python 2.7和3.3版本的程序的技术将在第13章介绍。某些技术在后续的示例代码中也会涉及,所有本书中的示例代码都同时支持这两个主要版本。

相关文章
|
1月前
|
机器学习/深度学习 人工智能 开发工具
人工智能项目的python版本管理工具DVC
dvc即data version control, 是一种针对人工智能项目(机器学习或者深度学习)的数据版本管理工具。DVC的操作和GIT类似,可以认为为GIT的二次开发封装。结合GIT,DVC可以有效的管理人工智能项目的整个流程,包括代码,数据,训练配置,模型【2月更文挑战第12天】
51 1
|
3天前
|
Python
IDA3.12版本的python,依旧报错IDAPython: error executing init.py.No module named ‘impRefer to the message win
IDA3.12版本的python,依旧报错IDAPython: error executing init.py.No module named ‘impRefer to the message win
|
17天前
|
Python Windows
【Python】Windows如何在cmd中切换python版本
【Python】Windows如何在cmd中切换python版本
|
20天前
|
前端开发 JavaScript 数据管理
描述一个使用Python开发Web应用程序的实际项目经验,包括所使用的框架和技术栈。
使用Flask开发Web应用,结合SQLite、Flask-SQLAlchemy进行数据管理,HTML/CSS/JS(Bootstrap和jQuery)构建前端。通过Flask路由处理用户请求,模块化代码提高可维护性。unittest进行测试,开发阶段用内置服务器,生产环境可选WSGI服务器或容器化部署。实现了用户注册登录和数据管理功能,展示Python Web开发的灵活性和效率。
14 4
|
1月前
|
Linux 数据库连接 数据库
Python如何将项目直接打包为一键整合包
Python如何将项目直接打包为一键整合包
39 0
|
1月前
|
数据采集 存储 数据处理
Python爬虫在Django项目中的数据处理与展示实例
Python爬虫在Django项目中的数据处理与展示实例
|
1月前
|
算法 NoSQL JavaScript
常见的限流算法-python版本
常见的限流算法-python版本
21 0
常见的限流算法-python版本
|
1月前
|
人工智能 开发工具 git
第一次运行 Python 项目,使用 python-pptx 提取 ppt 中的文字和图片
人工智能时代,最需要学习的编程语言是:python 。笔者是个 python 小白,昨天花了两个小时,第一次成功运行起来 python 项目 。 项目是 powerpoint-extractor ,可以将 ppt 文件中的图片提取出来,并输出到固定的目录。
第一次运行 Python 项目,使用 python-pptx 提取 ppt 中的文字和图片
|
2月前
|
Web App开发 人工智能 Kubernetes
Python 潮流周刊#23:35 个容易上手的 Python 小项目
Python 潮流周刊#23:35 个容易上手的 Python 小项目
20 1
|
9月前
|
Java Linux Shell
centos7内网离线安装face_recognition、python、pip、CMake、dlib,离线升级gcc/切换gcc,文末有face_recognition的docker版本
公司项目需要人脸识别,本来app自带人脸识别,结果api支持的设备试了一圈就一个同事的华为Mate40Pro可以,所以使用无望。接着找了一下免费的java离线人脸识别sdk,发现虹软的确实简单好用,一会就在linux上弄好并测试通过了,然而在准备集成进去开写代码时,不小心看到了一眼首次激活需联网,后续方可离线使用,好吧,我们内网机器首次都不可能的,接着看了下离线激活方法,首先需要企业认证,这一步我们肯定没法做的,毕竟不是之前的小公司了,营业执照啥的随便给我肯定不行,直接放弃了。后来在同事推荐下看了下face_recognition这个项目,之前基本没用过python,于是有了漫长的踩坑之旅。
351 1