EVE Online开始迁移至Python 3,看看他们如何处理240万行代码的迁移,以及如何替换Stackless Python,对其他大型Python项目有借鉴意义。
EVE Online自2003年推出以来一直使用Stackless Python,最近开始迁移至Python 3。将使用futurize脚本处理约240万行代码,并手动审查约20000处Python 2和3行为差异。未提及如何替换Stackless,但去年在会议上展示了如何使用carbonengine/scheduler库在Carbon引擎中替换Stackless。
EVE Online: The Move to Python 3 Begins!
EVE Online: The Move to Python 3 Begins! EVE Online has been one of the most interesting case studies in Python at scale for over twenty years now. They've been running on Stackless Python since their launch in 2003, and their last major upgrade was 16 years ago, to Stackless Python 2.7 in 2010 . They've upgrade to Python 3 will start using the futurize script against 2.4 million lines of code, followed by careful manual review of the ~20,000 places where Python 2 and 3 behavior differ - for example 1 / 2 is 0 in Python 2 but is 0.5 in Python 3. There's nothing in this announcement about how they plan to replace Stackless, but at their conference last year they presented Scheduling in Carbon: Leaving Stackless Python Behind describing how they replaced Stackless in the Carbon engine for their more recent game EVE Frontier, using their (now open source) carbonengine/scheduler library. Via Lobster.rs Tags: eve-online , migrations , python , python3 , stackless