標籤:
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<[email protected]>), and this fact hit us. We‘ve beentalking more seriously about Python 2‘s deprecation, and what we do as themaintainers of so much of the ecosystem / cpython / pypy maintainers.The idea is to basically stop uploading new Python 2 only libraries, portthings on the critical path, and swap leaf packages to Python 3. Details onthis 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 theeffort 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 aggressiveapproach on the ecosystem (porting as hard as we can to Python 2), you can helpby 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 consistof folks who are here to help port things important to us (Debian) to Python 3so 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 newcontributor task, so if anyone‘s asked you how they could get involved withDebian, 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 nexttwo cycles as we can, so we don‘t have to rely on an old, deprecated and brokenPython 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 Unicodewhack-a-mole and have a language getting new features again! I‘ve been usingPython 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 puttingtogether a Python 2 => Python 3 task force. Please email me privately if you‘reinterested, 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 <[email protected]> | 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