You are viewing documentation for our open source project which is maintained by the community. If you want to get started building assistants with Rasa please check out our latest [documentation here](/content/docs/index.html).

## Quick Installation

**Isolate your python project using a virtual environment.**

- Ubuntu
- macOS
- Windows

Create a new virtual environment by choosing a Python interpreter and making a `./venv` directory to hold it:

```
python3 -m venv ./venv
```

Activate the virtual environment:

```
source ./venv/bin/activate
```

**Install Rasa Open Source using pip (requires Python 3.7, or 3.8).**

```
pip3 install -U --user pip
```

```
pip3 install rasa
```

**You are now ready to go! So what's next? You can create a new project by running:**

```
rasa init
```

You can learn about the most important Rasa commands in the [Command Line Interface](https://legacy-docs-oss.rasa.com/docs/rasa/2.x/command-line-interface).

##### note

Due to lack of official TensorFlow support for the Apple M1, Rasa Open Source is currently unable to train a model using M1.

## Step-by-step Installation Guide

Prefer following video instructions? Watch our installation series on [Youtube](https://www.youtube.com/playlist?list=PL75e0qA87dlEWUA5ToqLLR026wIkk2evk), it explains the installation in walkthroughs for all major platforms.

### 1. Python Environment Setup

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.

- Ubuntu
- macOS
- Windows

Fetch the relevant packages using `apt`, and install virtualenv using `pip`.

```
sudo apt update

sudo apt install python3-dev python3-pip
```

### 2. Virtual Environment Setup

This step is optional, but we strongly recommend isolating python projects using virtual environments. 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 system-wide (as they prevent dependency conflicts). They also let you install packages without root privileges.

- Ubuntu
- macOS
- Windows

Create a new virtual environment by choosing a Python interpreter and making a `./venv` directory to hold it:

```
python3 -m venv ./venv
```

Activate the virtual environment:

```
source ./venv/bin/activate
```

### 3. Install Rasa Open Source

- Ubuntu / macOS / Windows

First make sure your `pip` version is up to date:

```
pip3 install -U pip
```

To install Rasa Open Source:

```
pip3 install rasa
```

##### Telemetry reporting

When you run Rasa Open Source for the first time, you’ll see a message notifying you about anonymous usage data that is being collected. You can read more about how that data is pulled out and what it is used for in the [telemetry documentation](https://legacy-docs-oss.rasa.com/docs/rasa/2.x/telemetry/telemetry).

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

## 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
```

## Additional Dependencies

For some machine learning algorithms you need to install additional python packages. They aren't installed by default to keep the footprint small.

The page on [Tuning Your Model](https://legacy-docs-oss.rasa.com/docs/rasa/2.x/tuning-your-model) will help you pick the right configuration for your assistant and alert you to additional dependencies.

##### Just give me everything!

If you don't mind the additional dependencies lying around, you can use

```
pip3 install rasa[full]
```

to install all needed dependencies for every configuration.

### Dependencies for spaCy

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

You can install it with the following commands:

```
pip3 install rasa[spacy]

python3 -m spacy download en_core_web_md
```

This will install Rasa Open Source as well as spaCy and its language model for the English language, but many other languages are available too. 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 likely reduce intent classification performance.

##### Changed in 2.5

Support for Spacy 3 was added. In prior versions of Rasa Open Source, to install spaCy with its language model for the English language, you need to additionally run `python3 -m spacy link en_core_web_md en`.

### Dependencies for MITIE

First, run

```
pip3 install git+https://github.com/mit-nlp/MITIE.git

pip3 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).

## Upgrading Versions

To upgrade your installed version of Rasa Open Source to the latest version from PyPI:

```
pip3 install --upgrade rasa
```

To download a specific version, specify the version number:

```
pip3 install rasa==1.8.3
```
