# Installation

## Quick Installation

You can install Rasa Open Source using pip (requires Python 3.6 or 3.7).

```
$ pip3 install rasa
```

- Having trouble installing? Read our [step-by-step installation guide](https://legacy-docs-v1.rasa.com/1.10.21/user-guide/installation/#installation-guide).  
- You can also [build Rasa Open Source from source](https://legacy-docs-v1.rasa.com/1.10.21/user-guide/installation/#build-from-source).  
- For advanced installation options such as building from source and installation instructions for custom pipelines, head over [here](https://legacy-docs-v1.rasa.com/1.10.21/user-guide/installation/#pipeline-dependencies).

When you’re done installing, you can head over to the tutorial!  
[Next Step: Tutorial](https://legacy-docs-v1.rasa.com/1.10.21/user-guide/rasa-tutorial/)

* * *

## Step-by-step Installation Guide

### 1. Install the Python development environment

Check if your Python environment is already configured:

```
$ python3 --version
$ pip3 --version
```

If these packages are already installed, these commands should display version numbers for each step, and you can skip to the next step.

Otherwise, proceed with the instructions below to install them.

Note that pip in this refers to pip3 as Rasa Open Source requires python3. To see which version the pip command on your machine calls use `pip –version`.

### 2. Create a virtual environment (strongly recommended)

Tools like [virtualenv](https://virtualenv.pypa.io/en/latest/) and [virtualenvwrapper](https://virtualenvwrapper.readthedocs.io/en/latest/) provide isolated Python environments, which are cleaner than installing packages systemwide (as they prevent dependency conflicts). They also let you install packages without root privileges.

### 3. Install Rasa Open Source

**Congratulations! You have successfully installed Rasa Open Source!**

You can now head over to the tutorial.  
[Next Step: Tutorial](https://legacy-docs-v1.rasa.com/1.10.21/user-guide/rasa-tutorial/)

* * *

## Building from Source

If you want to use the development version of Rasa Open Source, you can get it from GitHub:

```
$ curl -sSL https://raw.githubusercontent.com/python-poetry/poetry/master/get-poetry.py | python
$ git clone https://github.com/RasaHQ/rasa.git
$ cd rasa
$ poetry install
```

* * *

## NLU Pipeline Dependencies

Several NLU components have additional dependencies that need to be installed separately.

### How do I choose a pipeline?

The page on [Choosing a Pipeline](https://legacy-docs-v1.rasa.com/1.10.21/nlu/choosing-a-pipeline/#choosing-a-pipeline) will help you pick the right pipeline for your assistant.

### I have decided on a pipeline. How do I install the dependencies for it?

When you install Rasa Open Source, the dependencies for the `supervised_embeddings` - TensorFlow and `sklearn_crfsuite` get automatically installed. However, spaCy and MITIE need to be separately installed if you want to use pipelines containing components from those libraries.

Just give me everything!

If you don’t mind the additional dependencies lying around, you can use this to install everything.

You’ll first need to clone the repository and then run the following command to install all the packages:

```
$ poetry install --extras full
```

#### Dependencies for spaCy

For more information on spaCy, check out the [spaCy docs](https://spacy.io/usage/models).

You can install it with the following commands:

```
$ pip install rasa[spacy]
$ python -m spacy download en_core_web_md
$ python -m spacy link en_core_web_md en
```

This will install Rasa Open Source as well as spaCy and its language model for the English language. We recommend using at least the “medium” sized models (`_md`) instead of the spaCy’s default small `en_core_web_sm` model. Small models require less memory to run, but will somewhat reduce intent classification performance.

#### Dependencies for MITIE

First, run

```
$ pip install git+https://github.com/mit-nlp/MITIE.git
$ pip install rasa[mitie]
```

and then download the [MITIE models](https://github.com/mit-nlp/MITIE/releases/download/v0.4/MITIE-models-v0.2.tar.bz2). The file you need is `total_word_feature_extractor.dat`. Save this anywhere. If you want to use MITIE, you need to tell it where to find this file (in this example it was saved in the `data` folder of the project directory).

👋 I can help you get started with Rasa and answer your technical questions.
