2. Install

Current version(0.2.6) runs on Python-2.7+ and Python-3.3+ and requires numpy/scipy, pandas and win32 libraries along with their native backends to be installed.

It has been tested under Windows and Linux and Python-3.3+ is the preferred interpreter, i.e, the Excel interface and desktop-UI runs only with it.

It is distributed on Wheels.

2.1. Python installation

Warning

On Windows it is strongly suggested NOT to install the standard CPython distribution, unless:

  1. you have administrative priviledges,
  2. you are an experienced python programmer, so that
  3. you know how to hunt dependencies from PyPi repository and/or the Unofficial Windows Binaries for Python Extension Packages.

As explained above, this project depends on packages with native-backends that require the use of C and Fortran compilers to build from sources. To avoid this hassle, you should choose one of the user-friendly distributions suggested below.

Below is a matrix of the two suggested self-wrapped python distributions for running this program (we excluded here default python included in linux). Both distributions:

  • are free (as of freedom),
  • do not require admin-rights for installation in Windows, and
  • have been tested to run successfully this program (also tested on default linux distros).
Distributions WinPython Anaconda
Platform Windows Windows, Mac OS, Linux

Ease of

Installation

Fair

(requires fiddling with the PATH

and the Registry after install)

  • Anaconda: Easy
  • MiniConda: Moderate
Ease of Use Easy

Moderate

(should use conda and/or pip

depending on whether a package

contains native libraries

# of Packages

Only what’s included

in the downloaded-archive

Many 3rd-party packages

uploaded by users

Notes

After installation, see faq for:

  • Registering WinPython installation
  • Adding your installation in PATH
  • Check also the lighter miniconda.

  • For installing native-dependencies

    with conda see files:

    • requirements/miniconda.conda
    • .travis.yaml
  Check also installation instructions from the pandas site.

2.2. Package installation

Before installing it, make sure that there are no older versions left over on the python installation you are using. To cleanly uninstall it, run this command until you cannot find any project installed:

$ pip uninstall pandalone                   ## Use `pip3` if both python-2 & 3 are in PATH.

You can install the project directly from the PyPi repo the “standard” way, by typing the pip in the console:

$ pip install pandalone
  • If you want to install a pre-release version (the version-string is not plain numbers, but ends with alpha, beta.2 or something else), use additionally option --pre.
$ pip install pandalone
  • Also you can install the very latest version straight from the sources:

    $ pip install git+git://github.com/pandalone/pandalone.git  --pre
    
  • If you want to upgrade an existing installation along with all its dependencies, add also option --upgrade (or option -U equivalently), but then the build might take some considerable time to finish. Also there is the possibility the upgraded libraries might break existing programs(!) so use it with caution, or from within a virtualenv (isolated Python environment).

  • To install it for different Python environments, repeat the procedure using the appropriate python.exe interpreter for each environment.

  • Tip

    To debug installation problems, you can export a non-empty DISTUTILS_DEBUG and distutils will print detailed information about what it is doing and/or print the whole command line when an external program (like a C compiler) fails.

After installation, it is important that you check which version is visible in your PATH:

$ pndlcmd --version
0.2.6

To install for different Python versions, repeat the procedure for every required version.

2.3. Older versions

To install an older released version issue the console command:

$ pip install pandalone=0.0.1                   ## Use `--pre` if version-string has a build-suffix.

or alternatively straight from the sources:

$ pip install git+https://github.com/pandalone/pandalone.git@v0.0.9-alpha.3.1  --pre

Of course you can substitute v0.0.9-alpha.3.1 with any slug from “commits”, “branches” or “releases” that you will find on project’s github-repo).

Note

If you have another version already installed, you have to use option --ignore-installed (or option -I). For using the specific version, check this (untested) stackoverflow question.

You can install each version in a separate virtualenv (isolated Python environment) and shy away from all this. Check

2.4. Installing sources

If you download the sources you have more options for installation. There are various methods to get hold of them:

  • Download the source distribution from PyPi repo.

  • Download a release-snapshot from github

  • Clone the git-repository at github.

    Assuming you have a working installation of git you can fetch and install the latest version of the project with the following series of commands:

    $ git clone "https://github.com/pandalone/pandalone.git" pandalone.git
    $ cd pandalone.git
    $ python setup.py install                                 ## Use `python3` if both python-2 & 3 installed.
    

When working with sources, you need to have installed all libraries that the project depends on:

$ pip install -r requirements/execution.pip .

The previous command installs a “snapshot” of the project as it is found in the sources. If you wish to link the project’s sources with your python environment, install the project in development mode:

$ python setup.py develop

Note

This last command installs any missing dependencies inside the project-folder.

2.5. Project files and folders

The files and folders of the project are listed below:

+--pandalone/       ## (package) Python-code
+--tests/           ## (package) Test-cases
+--doc/             ## Documentation folder
+--setup.py         ## (script) The entry point for `setuptools`, installing, testing, etc
+--requirements/    ## (txt-files) Various pip and conda dependencies.
+--README.rst
+--CHANGES.rst
+--AUTHORS.rst
+--CONTRIBUTING.rst
+--LICENSE.txt

2.6. Discussion