diff --git a/docs/source/index.rst b/docs/source/index.rst index ee713eb5..d61bce1a 100644 --- a/docs/source/index.rst +++ b/docs/source/index.rst @@ -4,9 +4,9 @@ :maxdepth: 1 install - beginner-tutorial - bundles - development-guidelines - appendix - release-process - releases +.. beginner-tutorial +.. bundles +.. development-guidelines +.. appendix +.. release-process +.. releases diff --git a/docs/source/install.rst b/docs/source/install.rst index 57fb711f..028f9295 100644 --- a/docs/source/install.rst +++ b/docs/source/install.rst @@ -13,7 +13,7 @@ There are two reasons for the additional complexity: In order to build the C extensions, ``pip`` needs access to the CPython header files for your Python installation. -2. Zipline depends on `numpy `_, the core library for +2. Catalyst depends on `numpy `_, the core library for numerical array computing in Python. Numpy depends on having the `LAPACK `_ linear algebra routines available. @@ -41,7 +41,15 @@ version: $ virtualenv catalyst-venv $ source ./catalyst-venv/bin/activate - $ pip install enigma-catalyst + $ pip install enigma- + +Though not required by Catalyst directly, our example algorithms use matplotlib +to visually display the results of the trading algorithms. If you wish to run +any examples or use matplotlib during development, it can be installed using: + +.. code-block:: bash + + $ pip install matplotlib GNU/Linux ~~~~~~~~~ @@ -71,8 +79,8 @@ On `Arch Linux`_, you can acquire the additional dependencies via ``pacman``: .. .. There are also AUR packages available for installing `Python 3.4 .. `_ (Arch's default python is now -.. 3.5, but Zipline only currently supports 3.4), and `ta-lib -.. `_, an optional Zipline dependency. +.. 3.5, but Catalyst only currently supports 3.4), and `ta-lib +.. `_, an optional Catalyst dependency. .. Python 2 is also installable via: .. @@ -96,12 +104,132 @@ following brew packages: $ brew install freetype pkg-config gcc openssl +OSX + virtualenv + matplotlib +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +A note about using matplotlib in virtual enviroments on OSX: it may be necessary to run + +.. code-block:: bash + + echo "backend: TkAgg" > ~/.matplotlib/matplotlibrc + +in order to override the default ``macosx`` backend for your system, which may not +be accessible from inside the virtual environment. This will allow Catalyst to open +matplotlib charts from within a virtual environment, which is useful for displaying +the performance of your backtests. To learn more about matplotlib backends, please refer to the +`matplotlib backend documentation `_. + + Windows ~~~~~~~ -For windows, the easiest and best supported way to install zipline is to use +In Windows, you will need the `Microsoft Visual C++ Compiler for Python 2.7 +`_. This package +contains the compiler and the set of system headers necessary for producing +binary wheels for Python 2.7 packages. If it's not already in your system, download +it and install it before proceeding to the next step. + +For windows, the easiest and best supported way to install Catalyst is to use :ref:`Conda `. +Amazon Linux AMI +~~~~~~~~~~~~~~~~ + +The packages ``pip`` and ``setuptools`` that come shipped by default are very outdated. +Thus, you first need to run: + +.. code-block:: bash + + pip install --upgrade pip setuptools + +The default installation is also missing the C and C++ compilers, which you install by: + +.. code-block:: bash + + sudo yum install gcc gcc-c++ + +Then you should follow the regular installation instructions outlined at the beginning +of this page. + + +Troubleshooting ``pip`` Install +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +**Issue**: + Package enigma-catalyst cannot be found + +**Solution**: + Make sure you have the most up-to-date version of pip installed, by running: + + .. code-block:: bash + + pip install --upgrade pip + + On Windows, the recommended command is: + + .. code-block:: bash + + python -m pip install --upgrade pip + +---- + +**Issue**: + Package enigma-catalyst cannot still be found, even after upgrading pip (see above), with an error similar to: + + .. code-block:: bash + + Downloading/unpacking enigma-catalyst + Could not find a version that satisfies the requirement enigma-catalyst (from versions: 0.1.dev9, 0.2.dev2, 0.1.dev4, 0.1.dev5, 0.1.dev3, 0.2.dev1, 0.1.dev8, 0.1.dev6) + Cleaning up... + No distributions matching the version for enigma-catalyst + +**Solution**: + In some systems (this error has been reported in Ubuntu), pip is configured to only find stable versions by default. Since Catalyst is in alpha version, pip cannot find a matching version that satisfies the installation requirements. The solution is to include the `--pre` flag to include pre-release and development versions: + + .. code-block:: bash + + pip install --pre enigma-catalyst + +---- + +**Issue**: + Package enigma-catalyst fails to install because of outdated setuptools + +**Solution**: + Upgrade to the most up-to-date setuptools package by running: + + .. code-block:: bash + + pip install --upgrade pip setuptools + +---- + +**Issue**: + Missing required packages + +**Solution**: + Download `requirements.txt + `_ + (click on the *Raw* button and Right click -> Save As...) and use it to + install all the required dependencies by running: + + .. code-block:: bash + + pip install -r requirements.txt + +---- + +**Issue**: + Installation fails with error: ``fatal error: Python.h: No such file or directory`` + +**Solution**: + Some systems (this issue has been reported in Ubuntu) require `python-dev` for the proper build and installation of package dependencies. The solution is to install python-dev, which is independent of the virtual environment. In Ubuntu, you would need to run: + + .. code-block:: bash + + sudo apt-get install python-dev + + .. _conda: Installing with ``conda`` @@ -118,14 +246,96 @@ without requiring the use of a second tool to acquire Catalyst's non-Python dependencies. For instructions on how to install ``conda``, see the `Conda Installation -Documentation `_ +Documentation `_. Alternatively, you +can install MiniConda, which is a smaller footprint (fewer packages and smaller +size) than its big brother Anaconda, but it still contains all the main packages +needed. To install MiniConda, you can follow these steps: -Once conda has been set up you can install Catalyst from our ``Quantopian`` -channel: +1. Download `MiniConda `_. Select Python 2.7 for + your Operating System. +2. Install MiniConda. See the `Installation Instructions `_ + if you need help. +3. Ensure the correct installation by running ``conda list`` in a Terminal window, + which should print the list of packages installed with Conda. -.. code-block:: bash +Once either Conda or MiniConda has been set up you can install Catalyst: + +1. Download the file `python2.7-environment.yml `_. +2. Open a Terminal window and enter [``cd/dir``] into the directory where you saved + the above ``python2.7-environment.yml`` file. +3. Install using this file. This step can take about 5-10 minutes to install. + + .. code-block:: bash + + conda env create -f python2.7-environment.yml + +4. Activate the environment (which you need to do every time you start a new session + to run Catalyst): + + **Linux or OSX:** + + .. code-block:: bash + + source activate catalyst + + **Windows:** + + .. code-block:: bash + + activate catalyst + +Congratulations! You now have Catalyst installed. + +Troubleshooting ``conda`` Install +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +If the command ``conda env create -f python2.7-environment.yml`` in step 3 above failed +for any reason, you can try setting up the environment manually with the following steps: + +1. Create the environment: + + .. code-block:: bash + + conda create --name catalyst python=2.7 scipy + +2. Activate the environment: + + **Linux or OSX:** + + .. code-block:: bash + + source activate catalyst + + **Windows:** + + .. code-block:: bash + + activate catalyst + +3. Install the Catalyst inside the environment: + + .. code-block:: bash + + pip install enigma-catalyst matplotlib + +Getting Help +------------ + +If after following the instructions above, and going through the *Troubleshooting* sections, +you still experience problems installing Catalyst, you can seek additional help through the +following channels: + +- Join our `Discord community `_, and head over the #catalyst_dev + channel where many other users (as well as the project developers) hang out, and can assist + you with your particular issue. The more descriptive and the more information you can provide, + the easiest will be for others to help you out. + +- Report the problem you are experiencing on our + `GitHub repository `_ following the guidelines + provided therein. Before you do so, take a moment to browse through all `previous reported issues + `_ in the likely case + that someone else experienced that same issue before, and you get a hint on how to solve it. - conda install -c Quantopian zipline .. _`Debian-derived`: https://www.debian.org/misc/children-distros .. _`RHEL-derived`: https://en.wikipedia.org/wiki/Red_Hat_Enterprise_Linux_derivatives