Python 3 Port

David Vierra edited this page Sep 14, 2015 · 8 revisions

Current Priority

(Priority might change over time.)

Fix remaining issues for PyInstaller 3.0 release.

Status

  • single codebase for Python 2 and Python 3
  • support Python 3.3 and later by keeping compatible with Python 2.7
  • unicode support
    • unicode module-names (python 3 only)
    • running in non-ascii pathnames
  • feature parity with Python 2 version
  • test suite mostly working
  • built-in support for some third-packages not working
  • only some features are working and not on all supported platforms
  • continuous integration provided by Travis-CI and AppVeyor

Goals

  • unicode support
    • building on non-ascii pathnames
  • port all features from Python 2 version
  • port support for many third-packages
  • stability under Windows, Linux and Mac OS X
  • drop legacy and a lot of platform-specific code
  • long-term readable and maintainable codebase
  • extensive test suite
  • enhancements to the modulegraph package
  • coordinate effort with community needs

Test Suite Todo

Questions

  • Is there any Python library for managing subprocesses and stdin/out/err?
    • Would be useful for freeze tests.
  • What config format for tests to use?

Resources