Python 2, Python 3, Stretch & Buster
Python 2.7的终止支持时间为2020年,现在已经是2015年了,然而Debian中仍然有大量软件包是基于Python 2的实现。Debian的维护者开始认真讨论淘汰Python 2。开发者Paul Tagliamonte提出计划以尽快的将Python 2项目移植到Python 3,宣称“Python 2已死,Python 3万岁”。
《HTML开发MacOSApp教程》 http://pan.baidu.com/s/1jG1Q58M
Aloha, Developers! Many of our projects in Debian are written in Python -- yay, Python! However, a large chunk are implemented in Python 2 -- Booo, Python 2! Background
========== Python 2 is scheduled to be EOL'd upstream officially and for good in 2020.
We're in 2015 now (wow, that went quickly), and keeping our release cadence up
(3 years a pop) puts Stretch up in 2018, and Buster in 2021. Short of a brilliant Stretch cycle, this should be basically rightish. after Python 2 is EOL -- that's right, EOL! Nuts, right? A bunch of us at PyCon had a gathering of the shadowy Debian Python cabal
(notes from that meeting can be found at
<20150414220155.GA2589@cassiel.pault.ag>), and this fact hit us. We've been
talking more seriously about Python 2's deprecation, and what we do as the
maintainers of so much of the ecosystem / cpython / pypy maintainers. The idea is to basically stop uploading new Python 2 only libraries, port
things on the critical path, and swap leaf packages to Python 3. Details on
this can be found in the notes. Exact plans and policies are being resolved,
but that's the general idea. Given that I'm such a radical Python 3 proponent, I've decided to start the
effort for our infra. I seem to have a thing for flame threads, I guess. The first step is to evaluate things within our control -- Infrastructure. Tasks
===== So, what can we do about it? Great question! Since the DPMT and PAPT will soon be taking a more aggressive
approach on the ecosystem (porting as hard as we can to Python 2), you can help
by doing some of the following: - If *you* maintain or work on a Python 2 project that's used in Debian
Development (buildd, release tools, QA tools, ftpteam tools), please
email me a link to the project. An accurate census will help hugely. If
it works on Python 2, Python 2 and Python 3 or just Python 3, you should
include those details as well. - Identify what Debian Infra or Meta-Debian projects require Python 2 due
to unported or unbuilt Python 3 packages. Feel free to just scan your
top-level direct dependencies, we can play with the tree of deps. + Consider filing a bug on packages which are supported on Python 3
upstream but do not currently build Python 3 packages. + Consider filing a bug on packages which do *not* have upstream
support, and look into modern implementations of libraries you need. + If you have to do either of the above, consider patching it!
Remember: Teamwork makes the dream work! ( Note: the usertag on the above has not been decided yet, check in
for that later ) - Port the project to a hybrid Python 2/3 codebase (it's easy most of the
time, I promise!) but stay on Python 2, which will let you preform an
incremental upgrade. Consider test cases! Testing is great! I suggest
`tox` to let you continue to run the test suite for multiple versions
of Python. - Deploy or upload the tool to the archive or our infra using pure Python
3. This is the best if you have some test cases you can rely on (Python
has some wonderful stuff you should totally be using!) Plans
===== I plan on creating a Python 3 porting team. It'll have a fancy buzzword name,
but I'm a bit too tired to think of one now. Such a porting team would consist
of folks who are here to help port things important to us (Debian) to Python 3
so that we can get off of Python 2 for Buster. If you're interested in this effort, please email me. This is a really good new
contributor task, so if anyone's asked you how they could get involved with
Debian, you should send them to us! We'll be nice, I promise! I'll be making a Mailing List for this on Alioth sometime soon. Takeaways
========= The future is now! It's time to port as much as we can to Python 3 in the next
two cycles as we can, so we don't have to rely on an old, deprecated and broken
Python 2. As the kids say -- 'Sorry not sorry' When you see Python 2 - treat it as legacy! Please encourage porting! We can all soon look forward to the day where we no longer have to play Unicode
whack-a-mole and have a language getting new features again! I've been using
Python 3 for all new work code, and personal stuff, it's pretty great! If you are interested, or know anyone who might be interested, I'll be putting
together a Python 2 => Python 3 task force. Please email me privately if you're
interested, I'll keep a list of names for the soon to not be created list. Python [2] is dead! Long live Python [3]!
Paul --
.''`. Paul Tagliamonte <paultag@debian.org> | Proud Debian Developer
: :' : 4096R / 8F04 9AD8 2C92 066C 7352 D28A 7B58 5B30 807C 2A87
`. `'` http://people.debian.org/~paultag
`- http://people.debian.org/~paultag/conduct-statement.txt
Attachment: signature.asc
Description: Digital signature
Python 2, Python 3, Stretch & Buster的更多相关文章
- 1 python学习——python环境配置
1 python学习--python环境配置 要学习python语言,光看书看教程还是不好,得动手去写.当然,不管学习什么编程语言,最佳的方式还在于实践. 要实践,先得有一个Python解释器来解释执 ...
- CentOS使用virtualenv搭建独立的Python环境-python虚拟环境
CentOS使用virtualenv搭建独立的Python环境-python虚拟环境 virtualenv可以搭建虚拟且独立的python环境,可以使每个项目环境与其他项目独立开来,保持环境的干净,解 ...
- Embeding Python & Extending Python with FFPython
Introduction ffpython is a C++ lib, which is to simplify tasks that embed Python and extend Python. ...
- python 运行python manege.py runserver时报错:“no module named djangorestframework” 的解决方案
python 运行python manege.py runserver时报错:“no module named djangorestframework” 的解决方案 importerror:no mo ...
- 翻译文章“AST 模块:用 Python 修改 Python 代码”---!!注意ironpathyon未实现此功能
https://github.com/upsuper/blog/commit/0214fdd084c4adf2de2ed9912d644fb59ce13a1c +Title: [翻译] AST 模块: ...
- Python学习(二) 运行Python,编译Python
无论windos还是Linux只要安装了python,配置好了环境变量,则在命令行输入python这个命令的时候就会进入交互模式.在这个模式下可以进行一些简单的python代码编写.退出可以使用exi ...
- Python:Python学习总结
Python:Python学习总结 背景 PHP的$和->让人输入的手疼(PHP确实非常简洁和强大,适合WEB编程),Ruby的#.@.@@也好不到哪里(OO人员最该学习的一门语言). Pyth ...
- Python 正则表达式 (python网络爬虫)
昨天 2018 年 01 月 31 日,农历腊月十五日.20:00 左右,152 年一遇的月全食.血月.蓝月将今晚呈现空中,虽然没有看到蓝月亮,血月.月全食也是勉强可以了,还是可以想像一下一瓶蓝月亮洗 ...
- Python和Python解释器
目录 Python介绍(了解) Python解释器发展史(了解) Python解释器(了解) CPython IPython PyPy Jython IronPython 安装Python解释器(掌握 ...
随机推荐
- 与Boss大雷探讨JavaWeb开发、电商与网络安全
最近几个月,与公司Boss大雷交流得比较多,也学习到了很多新的东西,了解到了一些没有接触和实践的业界做法. 简要介绍下Boss,姓雷,定居武汉好几年了,之前在一号店.UC.支付宝干过,有丰富的电商-支 ...
- react里执行shouldComponentUpdate时返回false的后果
大家都知道生命周期shouldComponentUpdate返回false时,不会进行后续的渲染,那这个时候state是什么情况呢.我们看一下demo class Toggle extends Rea ...
- 深度剖析:最新云端开发工具如何实现敏捷+DevOps开发落地
相信很多软件开发人员们对今年国内新兴的云端开发工具——华为软件开发云都有耳闻,有些人可能还免费体验过,由于它5人以下的团队是免费使用的,很庆幸本人的这个项目正好5个人,就注册使用了.下面就自己的使用心 ...
- 【BZOJ 3676】[Apio2014]回文串
[链接] 链接 [题意] 给你一个字符串s. 定义一个子串的出现值为它出现的次数*字符串的长度. 让你求里面的回文子串的最大出现值 |s|<=3e5 [题解] 马拉车算法里面. 只有在回文往外扩 ...
- sql这两个表和查询的组合yii通过使用数据库查询
sql两个表的组合查询 使用 join on 比如:两个表查询: select u.username, t.title from user u join task t on u.id = t.id; ...
- Android无线调试——抛开USB数据线
开发Android的朋友都知道,真机调试需要把手机与PC相连,然后把应用部署到真机上进行安装和调试.长长的USB线显得很麻烦,而且如果需要USB接口与其他设备连接的话显得很不方便.今天介绍一种不通过U ...
- Android官方教程翻译(5)——设置ActionBar
Setting Up the Action Bar 设置Action Bar PREVIOUSNEXT THIS LESSONTEACHES YOU TO 这节课教你 1. Support An ...
- Openstack部署总结:“部署过程Error: Local ip for ovs agent must be set when tunneling is enabled”问题
问题叙述性说明 正在使用RDO当多节点部署测试,因为使用了一些老机器和机器类型的差异(一些HP的PC,有些DELL的PC).以下错误出现: Applying 192.168.40.107_neutro ...
- VS2005 编译 Qt4.8.2库,并修正源码中的错误
从昨天开始利用VS2005对Qt4.8.2库进行编译,在编译到某个文件时,总是报错,提示VS的cl.exe和nmake.exe返回致命错误.错误罗列如下: DefaultLocalizationStr ...
- matlab 警告(warning)、错误(error)、异常(exception)与断言(assert)
0. 消息标识符(Message Identifiers) 消息标识符,是附加在 error 和 warning 语句上的一个标签,以被 matlab 做唯一性标识. warning 语句所支持的函数 ...