Developers may prefer working with a git repository from
https://git.io/fecon236 but the user may just want a simple install.
(Important: there is a non-system pip
which is conda-aware:
conda install pip virtualenv
)
pip install fecon236
pip install --upgrade fecon236
pip uninstall fecon236
Your system pip
will also obtain fecon236 from PyPI.
Development versions may be installed using the --pre
flag.
Details on dependencies are covered towards the end of this file.
In this section, we assume you have a git clone of the repository, or (for non-git users) have unzipped the master branch obtained from: https://github.com/MathSci/fecon236/archive/master.zip
Here an excellent overall TUTORIAL for Python installation in general: https://packaging.python.org/tutorials/installing-packages especially regarding pip.
- Do NOT invoke setup.py directly (legacy procedures may take effect).
- Please use setuptools>=24.3
- Please USE pip>=9.0
- For regular installs, at container directory:
pip install .
- For developer installs, at container directory:
pip install --editable .
- (The period is shorthand for current working directory.)
- See further Python 3 practicalities
An egg is a Built Distribution format which is being replaced by wheel.
Semantic Versioning and more formally in PEP440
Within a numeric release (1.0, 2.7.3), the following suffixes
are permitted and are be ordered as follows:
.devN, aN, bN, rcN, <None>, .postN
.
Note that c is considered to be semantically equivalent to
rc (release candidate) and must be sorted as if it were rc.
Letters: "a" denotes alpha, "b" beta, whereas
None will signify a Major.Minor release from the master branch.
The ".post" suffix is used when code itself
unaffected, for example, corrected typos in documentation.
In general, the version at PyPI (and thus the pip installed versions) will lag that of the "develop" branch at GitHub.
Version 10 denotes our effort to port and refactor only the source code from fecon235 (excluding the Jupyter notebooks). It will maintain compatibility with both python27 and python34 series.
After 2019-01-01, our official support for python27 will discontinue (like numpy and pandas), however, straddling code may still continue to work.
Version 11 is expected to require at least Python 3.6.
By default, pip only finds stable versions at PyPI. So to seek
pre-release and development versions, in addition to stable versions:
pip install --upgrade --pre fecon236
When we do continuous integration testing, we prefer the environment created by conda, rather than by pip. Travis CI automatically installs from requirements.txt when the language is Python -- which is something we want to intentionally avoid for that reason. This is the developers' preference, but the user may have different practices.
So, require.txt is designed to be COPIED as requirements.txt for the bare essentials, which excludes software optimizations such as MLK (Math Kernel Library) and LLVM, as well as Jupyter notebook and IPython console.
Translation: just get an Ana/Mini/conda distribution to fulfill
the very complex dependencies which includes difficult binaries.
The sad truth is that pip
is incapable of dependency resolution.
Reading the require.txt
will be helpful in precisely
setting your virtual environment.
However, there is a conda-aware version of pip
which should be installed as: conda install pip
or upgraded as: conda upgrade pip
The must-read article here is http://jakevdp.github.io/blog/2016/08/25/conda-myths-and-misconceptions especially for those who rely on the numpy pandas stack. It includes a terrific comparison between virtualenv and conda environments.
Manual for conda environment: https://conda.io/docs/user-guide/tasks/manage-environments.html
When fecon236 becomes stable, we plan to include its codebase, together with fecon235 notebooks, at https://hub.docker.com/r/rsvp/fecon235
- fecon236 at GitHub
- fecon236 at PyPI
- BIDS, Berkeley Institute for Data Science
- Mathematical Sciences Group
Last update : 2018-05-15