GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Python Wiki
  • PSF Wiki
  • Jython Wiki
  • Python Wiki

This view

  • Original page
  • New address

GeezerVison is showing wiki.python.org — Python 3 Migration

View as Markdown

Python 3 Migration¶

This section is largely a historical archive. Python 2 reached end-of-life on January 1, 2020, and the migration is long over for most projects. But these pages document the community’s multi-year effort to move from Python 2 to Python 3 – the tools that were built, the problems that came up, the porting guides that were written, and the debates that shaped the transition. If you are still maintaining a Python 2 codebase (it happens), the porting guides here are still technically accurate.

Overview and FAQ¶

  • Python 2 or Python 3? – the classic “which version should I use?” page

  • Python 3 FAQ – frequently asked questions about Python 3

  • 5 Years of Python 3 – community feedback collected five years into the Python 3 era

Porting Guides¶

  • Porting to Py3k – the main porting guide with strategies and common issues

  • Porting to Py3k – single-page porting overview (Python 2 EOL notice included)

  • Porting Python Code to Py3k – step-by-step instructions for converting pure Python code

  • Porting Extension Modules to Py3k – porting C extension modules to Python 3

  • Porting Django to 3k – notes from an early attempt to port Django at PyCon 2008

  • One Codebase for Python 2 and 3 – tips for maintaining a single codebase that runs on both versions

Conversion Tools¶

  • 2to3 – the automatic translation tool for converting Python 2 code to Python 3

  • 3to2 – the reverse tool for backporting Python 3 code to Python 2

  • Py3k Conversion Tools – roundup of available tools for the 2-to-3 transition

Python 3 Design and Planning¶

  • Python 3.0 – Guido’s original goals for Python 3.0, later consolidated into PEP 3000

  • Python 3.0 Suggestions – community suggestions for what Python 3.0 should include

  • Python 3000 – the early planning page (largely of historical interest since 2008)

  • Martin von Loewis – pages from Martin von Loewis related to the Python 3 transition

Python 3 Technical Details¶

  • Py3k Deprecated – features deprecated or removed in the Python 3 transition

  • Py3k Extension Modules – status of extension module compatibility with Python 3

  • Py3k Regressions – known regressions in early Python 3 releases

  • Py3k String Formatting – the new string formatting methods based on PEP 3101

  • Py3k Str/Unicode Tests – test cases for the string/unicode changes in Python 3

  • Py3k Todo – the old to-do list for the Python 3 transition

  • Python 3k String Repr – changes to string representation in Python 3

  • Python 3 UnicodeDecodeError – dealing with UnicodeDecodeError in Python 3

Ecosystem Status¶

  • Python 3 Linux Distro Porting Status – tracking Linux distribution support for Python 3

  • Python 3 Porting Status – tracking which third-party packages support Python 3

Previous
Python Software Foundation Workflow
Next
Martinvonloewis
You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.