# How to install Python dependencies for Odoo

Install dependencies required by Odoo and your custom modules using `pip`. On TurboStack, Python is platform-managed through pyenv, and the `pip` on your `PATH` installs into the environment that runs Odoo. There is no virtual environment to create or activate by hand. For the file layout and service details, see [Odoo reference](reference.md).

## Odoo core requirements

```bash
cd ~/application
pip install -r odoo/requirements.txt
```

## Custom modules

If your custom modules include their own `requirements.txt`, install it:

```bash
pip install -r ~/application/custom/<module_name>/requirements.txt
```

Replace `<module_name>` with the module's directory name. Repeat for each module that has its own `requirements.txt`.

## Apply the changes

Restart Odoo so it loads the newly installed packages:

```bash
systemctl --user restart application.service
```

## Best practices

- Use the `pip` that is already on your `PATH` (the pyenv-managed pip).
- Avoid installing system-wide.

## Related

- [How to install and upgrade Odoo add-ons](addons.md)
- [Odoo reference](reference.md)
- [Deploy Odoo on TurboStack](deploy.md)
- [Odoo best practices](best-practices.md)
- [Troubleshooting Odoo](troubleshooting.md)
- [How to manage user system services](../../technologies/system-services/manage-user-services.md)
- [Connect over SSH](../../platform/hosts/ssh.md)
