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解释器(掌握 ...
随机推荐
- Java String对象的经典问题(转)
public class StringTest { public static void main(String[] args) { String strA = "abc"; St ...
- mysql 下 计算 两点 经纬度 之间的距离 计算结果排序
根据经纬度计算距离公式 公式 对上面的公式解释如下: Lung1 Lat1表示A点经纬度, Lung2 Lat2表示B点经纬度: a=Lat1 – Lat2 为两点纬度之差 b=Lung1 -Lung ...
- Fiddler快速入门(还有一个功能就是不经过网络,直接模拟一个响应返回给客户端)
Fiddler是一个免费.强大.跨平台的HTTP抓包工具.Wireshark也是一个强大的抓包工具,不过Wireshark是一个通用的抓包工具,主要精力放在各种协议上了,针对HTTP的特定功能较少.所 ...
- java做微信支付notify_url异步通知服务端的写法
最近团队在接入微信支付,APP和JSAPI的接口都需要填写一个notify_url回调地址,但是坑爹的官方文档并没有找到JSAPI模式的java版的demo,所以不得不自己看文档写了一个接受微信异步通 ...
- 树莓派的rc.local档(设置开机)
为了树莓派执行命令或程序时启动.需要被添加到顺序rc.local档.这是为那些谁执行后,直接要权力树莓派没有配置.或者不希望每次都手动启动该程序很实用. 的方法是使用cron和crontab. EDI ...
- 三星260亿美元的豪赌:想垄断DRAM和NAND闪存市场(规模经济让对手难以招架)
腾讯科技讯 据外媒报道,经过50年的发展,半导体市场仍然显得非常活跃,它在今年有望增长20%.随着高增长而来的是供应短缺,这就是DRAM和闪存价格为什么今年会上涨的原因. 三星在DRAM和闪存市场占有 ...
- 1 Task的简单实用
Task是thread和threadpool两者结合的产物,吸收了二者的优点 进一步添加了一些新的 优秀的功能. using System; using System.Threading.Tasks ...
- Information Centric Networking Based Service Centric Networking
A method implemented by a network device residing in a service domain, wherein the network device co ...
- DDD实战6 单元测试
1.在Products解决方案文件夹下面新建一个项目 一个单元测试项目 Product.Tests.
- 对于ado.net dataProvider的介绍
学习刘皓的 ADO.NET入门教程(二)了解.NET数据提供程序 而来 这篇文章很一般,主要是对dataProvider做了个简单的介绍.因为在该系列文章中提到,ado.net主要有两部分 dataP ...