-
Notifications
You must be signed in to change notification settings - Fork 333
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Moving to Python 3 > 2019-01-01 #9
Comments
Our source code will originate from fecon235 v5.18.0312 which is date-based, so circa 2018-03-12. The history of that repository goes back to the year 2014: see https://github.com/rsvp/fecon235 for complete details. The rationale for fecon236 is given in: "Moving to Python 3 > 2020-01-01" rsvp/fecon235#9 The source code repo should be separate from bulky size of Jupyter notebooks, thus they are expected to remain in the fecon235 repository and be developed further there.
Source code spin-off to fecon236Home for our Jupyter notebooks shall remain at fecon235 Version 10 of fecon236 represents the refactoring of only the fecon235 After 2019-01-01, our official support for python27 will discontinue Version 11 of fecon236 will signal when our Travis builds under python27 fail, Note the change in repository OWNERSHIP from |
Numpy and Pandas: Python 3 only > 2019-01-01
https://github.com/pandas-dev/pandas/pull/20540/files Note that this date is one year before Python 3 itself. Porting to Python 3 guide: https://docs.python.org/3/howto/pyporting.html |
Rebuild Docker containerThe gist is to use Miniconda3 as base for wget http://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86_64.sh -O miniconda.sh
bash miniconda.sh -b -p $HOME/miniconda
export PATH="$HOME/miniconda/bin:$PATH"
conda config --set always_yes yes --set changeps1 no
conda config --add channels pandas
conda update -q conda
conda info -a
conda install numpy pytz python-dateutil
conda install pandas=0.22
# ^Example: install specific version.
conda install matplotlib
conda list Then add the few dependencies from the scientific numpy/pandas stack. (Also, this is the way the environment for fecon236 continuous integration |
CHANGELOG 2018-06-23 (tag: v6.18.0623)Major version change for fecon235 from v5 to v6 Henceforth, fecon235 becomes a repository solely of Jupyter notebooks. Revise docs/fecon235-00-README.ipynb to introduce fecon236. |
Description of specific issue
Our code, currently compatible with both python27 and python3 series, is characterized as "straddling."
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.
pip install --pre fecon236
Miniconda3-latest-Linux-x86_64.sh
as baseExpected 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 Anacondaconda
installs are reliable). This may change towards the year 2020, where only python3 is involved, andpipenv
matures. The major annoyances are summarized here: https://python3statement.org/practicalities -- and minor details, not mentioned, are even more tedious.The text was updated successfully, but these errors were encountered: