Description of specific issue
Our code, currently compatible with both python27 and python3 series, is characterized as "straddling."
We are keen to use Python 3 to its full potential, and we currently accept the cost of writing cross-compatible code to allow a smooth transition, but we don’t intend to maintain this compatibility indefinitely. Although the transition has not been as quick as we hoped, we do see it taking place, with more and more people using, teaching and recommending Python 3.
The developers of the Python language extended support of Python 2.7 from 2015 to January 1, 2020, recognising that many people were still using Python 2. We believe that the extra 5 years is sufficient to transition off of Python 2, and our projects plan to stop supporting Python 2 when upstream support ends in 2020, if not before. We will then be able to simplify our code and take advantage of the many new features in the current version of the Python language and standard library.
We have pledged to drop support for Python 2.7 no later than 2020. Please see https://python3statement.org for details on the transition in the Python ecosystem.
Expected behavior
The transition should be smooth, and we will take the opportunity to refactor and re-organize the code from top-down. Users using the Anaconda distribution based on python27 will have to install a new distribution based on python3. For the fecon235 Docker image, the transition will be announced and automatically be set up for you.
Installation by pip
We have intentionally avoided the pip
because optimal installation of fecon235 dependencies has been difficult, esp. for binaries and newbies. Unfortunately, pip
is incapable of true dependency resolution (whereas Anaconda conda
installs are reliable). This may change towards the year 2020, where only python3 is involved, and pipenv
matures. The major annoyances are summarized here: https://python3statement.org/practicalities -- and minor details, not mentioned, are even more tedious.
- fecon235 version: v6 notebooks will begin import of fecon236
- Python version: al least 3.4 through 2019, expect at least 3.6 thereafter.
- Operating systems: Linux, Mac, Windows