.. _installation: Installation ============ Installing BAL Toolbox is intended to be a simple process, requiring only basic understanding of ArcGIS toolbox operations. It has been installed and tested on ArcGIS 10.2. Unzipping the toolbox --------------------- The software package is delivered as a compressed zip file. Unzip the toolbox into a location on your computer, for example :file:`C:\\bal`. Then you will have stored all the files at folder :file:`C:\\bal`. Dependencies ------------ * `Python `_ - v2.7 * `Numpy `_ - v1.6.2 * `Arcpy in ArcGIS 10.2 `_ .. warning:: ArcGIS 10.2 is packaged with a modified version of ``Numpy``. In our experience, attempting to update the ``Numpy`` package will cause the ``arcpy`` package to fail catastrophically, and usually without reporting any error message. We strongly recommend against trying to upgrade the version of ``Numpy`` linked to your ``ArcGIS`` installation. Setting the environment ------------------------ To enable the BAL toolbox to run flawlessly, you may need to change some environment settings. The important variable to set is the ``PYTHONPATH`` variable. This should be set to the path where you have extracted the contents of the zip file. A complete discussion on environment variables in Python is given in the `Python documentation `_. Windows ~~~~~~~~ The Python documentation contains some simple instructions for setting environment variables on Windows systems `here `_. See `this link `_ for setting the variables on different Windows systems. Testing the installation ------------------------ The code includes a suite of unit tests that ensure elements of the code base work as expected. The code should be tested before running the toolbox. Users will need to install the `Nose `_ package to run these tests. The test suite can be run from the main directory. On Windows, run the :command:`run_test_all.cmd` script from the main BAL directory. If the test suite fails, there will be a message indicating which test failed and a description of the failure. If you receive this, copy the description and create a ticket on the |project_name| `Issue Tracker `_.