## Install Rasa Open Source

- Ubuntu / macOS / Windows

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

```bash
pip3 install -U pip
```

To install Rasa Open Source:

```bash
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/telemetry/telemetry).

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

You can now create a new project with:

```bash
rasa init
```

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

## Building from Source

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

```bash
curl -sSL https://install.python-poetry.org | python3 -

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/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

```bash
pip3 install 'rasa[full]'
```

to install all needed dependencies for every configuration.

### Python 3.10 requirements

*If you are using Linux*, installing `rasa[full]` could result in a failure while installing `tokenizers` and `cryptography`.

In order to resolve it, you must follow these steps to install a Rust compiler:

```bash
apt install rustc && apt install cargo
```

After initializing the Rust compiler, you should restart the console and check its installation:

```bash
rustc --version
```

In case the PATH variable had not been automatically setup, run:

```bash
export PATH="$HOME/.cargo/bin:$PATH"
```

*If you are using macOS*, note that installing `rasa[full]` (either via pip or from source) could result in a failure while installing `tokenizers` (issue described in depth [here](https://github.com/huggingface/tokenizers/issues/1050)).

In order to resolve it, you must follow these steps to install a Rust compiler:

```bash
brew install rustup

rustup-init
```

After initializing the Rust compiler, you should restart the console and check its installation:

```bash
rustc --version
```

In case the PATH variable had not been automatically setup, run:

```bash
export PATH="$HOME/.cargo/bin:$PATH"
```

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

```bash
pip3 install 'rasa[spacy]'

python3 -m spacy download en_core_web_md
```

##### Using `zsh`?

In zsh, square brackets are interpreted as patterns on the command line. To run commands with square brackets, you can either enclose the arguments with square brackets in quotes, like `pip3 install 'rasa[spacy]'`, or escape the square brackets using backslashes, like `pip3 install rasa\[spacy\]`. We recommend using the former method (`pip3 install 'rasa[spacy]'`) in our documentation because it works as expected across any shell.

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.

### Dependencies for MITIE

First, run

```bash
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:

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

To download a specific version, specify the version number:

```bash
pip3 install rasa==3.0
```
