2018-01-13 02:36:12 +00:00
# Installation
2019-05-25 14:13:18 +00:00
2018-01-09 04:27:41 +00:00
This page explains how to prepare your environment for running the bot.
2018-01-13 02:36:12 +00:00
2018-12-31 10:04:22 +00:00
## Prerequisite
2019-05-25 14:13:18 +00:00
2019-06-27 17:51:04 +00:00
### Requirements
Click each one for install guide:
* [Python >= 3.6.x ](http://docs.python-guide.org/en/latest/starting/installation/ )
* [pip ](https://pip.pypa.io/en/stable/installing/ )
* [git ](https://git-scm.com/book/en/v2/Getting-Started-Installing-Git )
* [virtualenv ](https://virtualenv.pypa.io/en/stable/installation/ ) (Recommended)
* [TA-Lib ](https://mrjbq7.github.io/ta-lib/install.html ) (install instructions below)
### API keys
2018-12-31 10:04:22 +00:00
Before running your bot in production you will need to setup few
2019-05-25 14:27:36 +00:00
external API. In production mode, the bot will require valid Exchange API
2019-06-23 19:51:33 +00:00
credentials. We also recommend a [Telegram bot ](telegram-usage.md#setup-your-telegram-bot ) (optional but recommended).
2018-01-13 02:36:12 +00:00
2018-12-31 10:04:22 +00:00
### Setup your exchange account
2019-05-25 14:13:18 +00:00
2019-05-25 14:27:36 +00:00
You will need to create API Keys (Usually you get `key` and `secret` ) from the Exchange website and insert this into the appropriate fields in the configuration or when asked by the installation script.
2019-05-25 14:13:18 +00:00
2018-12-31 10:04:22 +00:00
## Quick start
2019-05-25 14:13:18 +00:00
2019-11-08 16:38:32 +00:00
Freqtrade provides the Linux/MacOS Easy Installation script to install all dependencies and help you configure the bot.
2018-12-31 10:04:22 +00:00
2019-06-27 04:20:22 +00:00
!!! Note
2019-11-08 16:38:32 +00:00
Windows installation is explained [here ](#windows ).
2020-02-01 12:54:17 +00:00
The easiest way to install and run Freqtrade is to clone the bot Github repository and then run the Easy Installation script, if it's available for your platform.
2019-11-08 16:38:32 +00:00
!!! Note "Version considerations"
When cloning the repository the default working branch has the name `develop` . This branch contains all last features (can be considered as relatively stable, thanks to automated tests). The `master` branch contains the code of the last release (done usually once per month on an approximately one week old snapshot of the `develop` branch to prevent packaging bugs, so potentially it's more stable).
!!! Note
Python3.6 or higher and the corresponding `pip` are assumed to be available. The install-script will warn you and stop if that's not the case. `git` is also needed to clone the Freqtrade repository.
This can be achieved with the following commands:
2019-06-27 04:20:22 +00:00
2018-12-31 10:04:22 +00:00
```bash
2020-01-27 19:39:04 +00:00
git clone https://github.com/freqtrade/freqtrade.git
2018-12-31 10:04:22 +00:00
cd freqtrade
2019-11-08 14:32:18 +00:00
git checkout master # Optional, see (1)
2018-12-31 10:04:22 +00:00
./setup.sh --install
```
2020-02-01 12:54:17 +00:00
2019-11-08 16:38:32 +00:00
(1) This command switches the cloned repository to the use of the `master` branch. It's not needed if you wish to stay on the `develop` branch. You may later switch between branches at any time with the `git checkout master` /`git checkout develop` commands.
2019-05-25 14:13:18 +00:00
2019-11-08 16:38:32 +00:00
## Easy Installation Script (Linux/MacOS)
2018-01-29 04:53:55 +00:00
2019-11-08 16:38:32 +00:00
If you are on Debian, Ubuntu or MacOS Freqtrade provides the script to install, update, configure and reset the codebase of your bot.
2018-01-29 04:53:55 +00:00
```bash
$ ./setup.sh
usage:
-i,--install Install freqtrade from scratch
-u,--update Command git pull to update.
-r,--reset Hard reset your develop/master branch.
-c,--config Easy config generator (Will override your existing file).
```
2018-12-31 10:04:22 +00:00
** --install **
2018-06-08 09:23:00 +00:00
2020-02-24 19:11:25 +00:00
With this option, the script will install the bot and most dependencies:
You will need to have git and python3.6+ installed beforehand for this to work.
2018-06-08 09:23:00 +00:00
2019-06-27 17:51:04 +00:00
* Mandatory software as: `ta-lib`
2020-02-24 19:11:25 +00:00
* Setup your virtualenv under `.env/`
2018-01-29 04:53:55 +00:00
2019-11-08 16:38:32 +00:00
This option is a combination of installation tasks, `--reset` and `--config` .
2018-01-29 04:53:55 +00:00
2018-12-31 10:04:22 +00:00
** --update **
2018-06-08 09:23:00 +00:00
2019-11-08 16:38:32 +00:00
This option will pull the last version of your current branch and update your virtualenv. Run the script with this option periodically to update your bot.
2018-01-29 04:53:55 +00:00
2018-12-31 10:04:22 +00:00
** --reset **
2018-06-08 09:23:00 +00:00
2019-11-08 16:38:32 +00:00
This option will hard reset your branch (only if you are on either `master` or `develop` ) and recreate your virtualenv.
2018-01-29 04:53:55 +00:00
2018-12-31 10:04:22 +00:00
** --config **
2018-06-08 09:23:00 +00:00
2020-02-24 19:11:25 +00:00
DEPRECATED - use `freqtrade new-config -c config.json` instead.
2018-01-29 04:53:55 +00:00
2018-01-13 02:36:12 +00:00
------
## Custom Installation
We've included/collected install instructions for Ubuntu 16.04, MacOS, and Windows. These are guidelines and your success may vary with other distros.
2018-12-31 10:04:22 +00:00
OS Specific steps are listed first, the [Common ](#common ) section below is necessary for all systems.
2018-01-13 02:36:12 +00:00
2019-06-27 17:51:04 +00:00
!!! Note
Python3.6 or higher and the corresponding pip are assumed to be available.
2018-01-02 02:17:10 +00:00
2018-01-13 02:36:12 +00:00
### Linux - Ubuntu 16.04
2019-06-27 17:51:04 +00:00
#### Install necessary dependencies
2018-01-13 02:36:12 +00:00
2018-01-02 02:17:10 +00:00
```bash
sudo apt-get update
2019-06-27 17:51:04 +00:00
sudo apt-get install build-essential git
2018-01-02 02:17:10 +00:00
```
2019-10-31 11:49:41 +00:00
### Raspberry Pi / Raspbian
2018-08-28 20:06:46 +00:00
2019-10-30 12:27:04 +00:00
The following assumes the latest [Raspbian Buster lite image ](https://www.raspberrypi.org/downloads/raspbian/ ) from at least September 2019.
This image comes with python3.7 preinstalled, making it easy to get freqtrade up and running.
2018-08-28 20:06:46 +00:00
2019-10-30 12:27:04 +00:00
Tested using a Raspberry Pi 3 with the Raspbian Buster lite image, all updates applied.
2018-08-28 20:06:46 +00:00
``` bash
2019-10-30 12:27:04 +00:00
sudo apt-get install python3-venv libatlas-base-dev
git clone https://github.com/freqtrade/freqtrade.git
cd freqtrade
bash setup.sh -i
2018-08-28 20:06:46 +00:00
```
2019-10-30 12:27:04 +00:00
!!! Note "Installation duration"
Depending on your internet speed and the Raspberry Pi version, installation can take multiple hours to complete.
2019-09-25 06:56:06 +00:00
!!! Note
2019-10-30 12:27:04 +00:00
The above does not install hyperopt dependencies. To install these, please use `python3 -m pip install -e .[hyperopt]` .
2019-09-26 07:31:31 +00:00
We do not advise to run hyperopt on a Raspberry Pi, since this is a very resource-heavy operation, which should be done on powerful machine.
2019-09-25 06:56:06 +00:00
2018-12-31 10:04:22 +00:00
### Common
2018-08-26 18:09:12 +00:00
#### 1. Install TA-Lib
2018-01-13 02:36:12 +00:00
2020-02-01 13:06:31 +00:00
Use the provided ta-lib installation script
```bash
sudo ./build_helpers/install_ta-lib.sh
```
!!! Note
This will use the ta-lib tar.gz included in this repository.
##### TA-Lib manual installation
2018-01-02 02:17:10 +00:00
Official webpage: https://mrjbq7.github.io/ta-lib/install.html
2018-01-13 02:36:12 +00:00
```bash
2018-01-02 02:17:10 +00:00
wget http://prdownloads.sourceforge.net/ta-lib/ta-lib-0.4.0-src.tar.gz
tar xvzf ta-lib-0.4.0-src.tar.gz
cd ta-lib
2018-09-16 09:24:49 +00:00
sed -i.bak "s|0.00000001|0.000000000000000001 |g" src/ta_func/ta_utility.h
2018-10-11 17:26:19 +00:00
./configure --prefix=/usr/local
2018-01-02 02:17:10 +00:00
make
2018-10-11 17:26:19 +00:00
sudo make install
2018-01-02 02:17:10 +00:00
cd ..
rm -rf ./ta-lib*
```
2018-12-31 10:04:22 +00:00
!!! Note
An already downloaded version of ta-lib is included in the repository, as the sourceforge.net source seems to have problems frequently.
2018-01-13 02:36:12 +00:00
2018-08-26 18:09:12 +00:00
#### 2. Setup your Python virtual environment (virtualenv)
2018-01-13 02:36:12 +00:00
2018-12-31 10:04:22 +00:00
!!! Note
This step is optional but strongly recommended to keep your system organized
2018-01-13 02:36:12 +00:00
```bash
2018-08-26 18:09:12 +00:00
python3 -m venv .env
source .env/bin/activate
2018-01-13 02:36:12 +00:00
```
2019-10-26 10:08:36 +00:00
#### 3. Install Freqtrade
2018-01-02 02:17:10 +00:00
2018-01-13 02:36:12 +00:00
Clone the git repository:
2018-01-02 02:17:10 +00:00
```bash
2018-06-03 21:07:00 +00:00
git clone https://github.com/freqtrade/freqtrade.git
2019-11-01 14:07:36 +00:00
cd freqtrade
2018-01-02 02:17:10 +00:00
```
2019-06-27 17:51:04 +00:00
Optionally checkout the master branch to get the latest stable release:
2018-01-02 02:17:10 +00:00
```bash
2018-08-26 18:09:12 +00:00
git checkout master
2018-01-02 02:17:10 +00:00
```
2019-11-01 14:07:36 +00:00
#### 4. Install python dependencies
2018-01-13 02:36:12 +00:00
2019-11-01 14:07:36 +00:00
``` bash
python3 -m pip install --upgrade pip
python3 -m pip install -e .
2018-01-13 02:36:12 +00:00
```
2019-11-01 14:07:36 +00:00
#### 5. Initialize the configuration
2018-01-13 02:36:12 +00:00
2019-11-01 14:07:36 +00:00
```bash
# Initialize the user_directory
freqtrade create-userdir --userdir user_data/
2018-01-13 05:32:09 +00:00
2020-02-01 13:06:31 +00:00
# Create a new configuration file
freqtrade new-config --config config.json
2018-01-13 02:36:12 +00:00
```
2019-11-01 14:07:36 +00:00
> *To edit the config please refer to [Bot Configuration](configuration.md).*
2018-08-26 18:09:12 +00:00
#### 6. Run the Bot
2018-01-13 05:32:09 +00:00
If this is the first time you run the bot, ensure you are running it in Dry-run `"dry_run": true,` otherwise it will start to buy and sell coins.
2018-01-13 02:36:12 +00:00
```bash
2019-09-29 17:21:18 +00:00
freqtrade trade -c config.json
2018-01-13 02:36:12 +00:00
```
2019-05-25 14:13:18 +00:00
*Note*: If you run the bot on a server, you should consider using [Docker ](docker.md ) or a terminal multiplexer like `screen` or [`tmux` ](https://en.wikipedia.org/wiki/Tmux ) to avoid that the bot is stopped on logout.
2018-08-26 18:09:12 +00:00
2019-10-26 10:08:36 +00:00
#### 7. (Optional) Post-installation Tasks
2018-08-26 18:09:12 +00:00
2019-11-30 19:35:13 +00:00
On Linux, as an optional post-installation task, you may wish to setup the bot to run as a `systemd` service or configure it to send the log messages to the `syslog` /`rsyslog` or `journald` daemons. See [Advanced Logging ](advanced-setup.md#advanced-logging ) for details.
2019-03-10 17:05:33 +00:00
2018-01-29 04:53:55 +00:00
------
2019-08-05 17:25:43 +00:00
## Using Conda
Freqtrade can also be installed using Anaconda (or Miniconda).
``` bash
conda env create -f environment.yml
```
2019-08-22 04:57:32 +00:00
!!! Note
2019-08-05 17:25:43 +00:00
This requires the [ta-lib ](#1-install-ta-lib ) C-library to be installed first.
2018-01-29 04:53:55 +00:00
## Windows
2019-05-25 14:13:18 +00:00
We recommend that Windows users use [Docker ](docker.md ) as this will work much easier and smoother (also more secure).
2018-06-08 09:23:00 +00:00
If that is not possible, try using the Windows Linux subsystem (WSL) - for which the Ubuntu instructions should work.
If that is not available on your system, feel free to try the instructions below, which led to success for some.
2018-01-29 04:53:55 +00:00
2018-06-08 09:23:00 +00:00
### Install freqtrade manually
2019-10-26 14:34:13 +00:00
!!! Note
2019-10-27 05:08:55 +00:00
Make sure to use 64bit Windows and 64bit Python to avoid problems with backtesting or hyperopt due to the memory constraints 32bit applications have under Windows.
2019-10-26 14:34:13 +00:00
!!! Hint
2019-11-01 14:07:36 +00:00
Using the [Anaconda Distribution ](https://www.anaconda.com/distribution/ ) under Windows can greatly help with installation problems. Check out the [Conda section ](#using-conda ) in this document for more information.
2019-10-26 14:34:13 +00:00
2018-06-08 09:23:00 +00:00
#### Clone the git repository
```bash
git clone https://github.com/freqtrade/freqtrade.git
```
2018-01-29 04:53:55 +00:00
2018-08-28 17:30:26 +00:00
#### Install ta-lib
2018-06-08 09:23:00 +00:00
Install ta-lib according to the [ta-lib documentation ](https://github.com/mrjbq7/ta-lib#windows ).
2018-12-31 10:12:56 +00:00
As compiling from source on windows has heavy dependencies (requires a partial visual studio installation), there is also a repository of unofficial precompiled windows Wheels [here ](https://www.lfd.uci.edu/~gohlke/pythonlibs/#ta-lib ), which needs to be downloaded and installed using `pip install TA_Lib‑ 0.4.17‑ cp36‑ cp36m‑ win32.whl` (make sure to use the version matching your python version)
2018-06-08 09:23:00 +00:00
2018-01-29 04:53:55 +00:00
```cmd
>cd \path\freqtrade-develop
>python -m venv .env
2019-09-29 08:25:47 +00:00
>.env\Scripts\activate.bat
2018-06-08 09:23:00 +00:00
REM optionally install ta-lib from wheel
REM >pip install TA_Lib‑ 0.4.17‑ cp36‑ cp36m‑ win32.whl
2018-01-29 04:53:55 +00:00
>pip install -r requirements.txt
>pip install -e .
2019-09-29 08:25:47 +00:00
>freqtrade
2018-01-29 04:53:55 +00:00
```
2018-06-03 21:07:00 +00:00
> Thanks [Owdr](https://github.com/Owdr) for the commands. Source: [Issue #222](https://github.com/freqtrade/freqtrade/issues/222)
2018-01-29 04:53:55 +00:00
2018-08-28 17:30:26 +00:00
#### Error during installation under Windows
``` bash
error: Microsoft Visual C++ 14.0 is required. Get it with "Microsoft Visual C++ Build Tools": http://landinghub.visualstudio.com/visual-cpp-build-tools
```
Unfortunately, many packages requiring compilation don't provide a pre-build wheel. It is therefore mandatory to have a C/C++ compiler installed and available for your python environment to use.
2019-05-25 14:13:18 +00:00
The easiest way is to download install Microsoft Visual Studio Community [here ](https://visualstudio.microsoft.com/downloads/ ) and make sure to install "Common Tools for Visual C++" to enable building c code on Windows. Unfortunately, this is a heavy download / dependency (~4Gb) so you might want to consider WSL or [docker ](docker.md ) first.
2018-08-28 17:30:26 +00:00
---
2018-01-13 02:36:12 +00:00
Now you have an environment ready, the next step is
2018-12-31 12:39:18 +00:00
[Bot Configuration ](configuration.md ).
2020-01-02 13:52:34 +00:00
2020-01-03 05:37:36 +00:00
## Troubleshooting
2020-01-02 13:52:34 +00:00
### MacOS installation error
2020-01-03 05:37:36 +00:00
Newer versions of MacOS may have installation failed with errors like `error: command 'g++' failed with exit status 1` .
2020-01-02 13:52:34 +00:00
2020-01-03 05:37:36 +00:00
This error will require explicit installation of the SDK Headers, which are not installed by default in this version of MacOS.
2020-01-02 13:52:34 +00:00
For MacOS 10.14, this can be accomplished with the below command.
``` bash
open /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg
```
If this file is inexistant, then you're probably on a different version of MacOS, so you may need to consult the internet for specific resolution details.