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解释器(掌握 ...
随机推荐
- eclipse上springCloud分布式微服务搭建-干货
一.创建maven父工程(pom) pom.xml如下: eureka: client: registerWithEureka:false fetchRegistry:false serviceUrl ...
- springboot启动tomcat报错java.lang.NoClassDefFoundError: javax/el/ELManager仅记录
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'o ...
- 看看是不是你想要的:pycharm永久激活!!!
pycharm是很强大的开发工具,但是每次注册着实让人头疼.网络上很多注册码.注册服务器等等.但都只是一年或者不能用:为次有如下解决方案.亲测有效!!! 如果想让pycharm永久被激活,比如截止日到 ...
- Method and system for implementing mandatory file access control in native discretionary access control environments
A method is provided for implementing a mandatory access control model in operating systems which na ...
- JAVA SortedMap接口
SortedMap接口主要提供有序的Map实现. Map的主要实现有HashMap,TreeMap,HashTable,LinkedHashMap. TreeMap实现了SortedMap接口,保证了 ...
- LR杂记 - Linux的系统监控工具vmstat详细说明
一.前言 非常显然从名字中我们就能够知道vmstat是一个查看虚拟内存(Virtual Memory)使用状况的工具,可是如何通过vmstat来发现系统中的瓶颈呢?在回答这个问题前,还是让我们回想一下 ...
- java学习笔记(8)——多线程
进程:是一个程序在其自身的地址空间的一次执行活动. 线程:(区别于进程)线程没有独立的存储空间. 几个概念:时间片 线程 进程 能不能够用多进程代替多线程呢? 两个进程切换时要交换内存空间,而多 ...
- latex 矩阵分块(block matrix)
Lesson 12: Making Block Matrices in LATEX 按列分块: [AAb⋯An−1b] $$ \left[ \begin{array}{c|c|c|c} A & ...
- HDU5187 zhx's contest(计数问题)
主题链接: http://acm.hdu.edu.cn/showproblem.php?pid=5187 题意: 从1~n,有多少种排列 使得 a1~ai 满足单调递增或者单调递减. ai~an 满足 ...
- React HOC
在React官网文档学习React HOC,整个看了一遍还是云里雾里的,于是按照官网文档,自己动手实践一下.官网地址:React 高阶组件 定义:高阶组件就是一个函数,且该函数接受一个组件作为参数,并 ...