---
url: https://docs.cybrosys.com/assista-ide/prerequisites.md
description: >-
  Install Git, Python, PostgreSQL and the system libraries Odoo needs on Linux,
  macOS and Windows before you set up an Odoo project in Assista IDE.
---

# Prerequisites

Assista IDE runs without extra software, but to set up and run an Odoo project you need Git, a supported Python version, PostgreSQL and a few system libraries on your machine. This page lists what to install on **Linux**, **macOS** and **Windows**, with the exact commands.

> **What the IDE checks for you.**
>
> The [setup wizard](/assista-ide/onboarding) checks for **Git** and **Python** and shows you what is missing. It does not check or install PostgreSQL, Node.js, build tools or system libraries. It shows copy-and-paste commands for them, which are the same commands as on this page.

## What you need

| Requirement | Why you need it | Checked by the IDE |
| :--- | :--- | :--- |
| Git | Downloads Odoo and the prebuilt Python packages | Yes |
| Python 3.8 to 3.14 | Runs Odoo. The right version depends on the Odoo version | Yes |
| PostgreSQL | Stores your Odoo databases | No |
| System libraries | Needed by Odoo's Python packages | No |
| Node.js and the LESS compiler | Builds stylesheets and right-to-left assets | No |
| Windows only: Visual Studio Build Tools | Compiles a Python package when no prebuilt version exists | No |
| Internet connection | Downloads Odoo and its Python packages during setup | No |

PDF reports also need `wkhtmltopdf`. The IDE does not check or install it. Follow the [Odoo installation guide](https://www.odoo.com/documentation/18.0/administration/on_premise/source.html) if you print PDF reports.

## Choose the right Python version

Each Odoo version supports a specific set of Python versions. Assista IDE sets up the project with prebuilt packages that match your Odoo and Python versions.

| Odoo version | Supported Python versions |
| :--- | :--- |
| 20.0 | 3.12, 3.13, 3.14 |
| 19.0 | 3.10, 3.12, 3.13 |
| 18.0 | 3.10, 3.12 |
| 17.0 | 3.10, 3.12 |
| 16.0 | 3.8, 3.10, 3.12 |
| 15.0 | 3.8, 3.10, 3.12 |
| 14.0 | 3.8, 3.10 |
| 13.0 | 3.8 |
| 12.0 | 3.8 |
| 11.0 | No prebuilt packages. You install the requirements yourself |

> **Check your platform.**
>
> Prebuilt packages are not available for every combination.
>
> * **Windows:** Odoo 12.0 and 13.0, and Odoo 19.0 with Python 3.10, have no prebuilt packages. Setup stops with a "branch was not found" message.
> * **All platforms:** if you choose a Python version outside the table, the IDE warns you and creates an empty virtual environment without Odoo's packages.

If you have several Python versions installed, the setup screens list every interpreter they find, newest first, and you pick one.

## Install Git

**Ubuntu and Debian**

```bash
sudo apt install -y git
```

**macOS**

```bash
brew install git
```

**Windows**

```powershell
winget install --id Git.Git -e --accept-source-agreements --accept-package-agreements
```

Check the install with `git --version`. The IDE checks again each time you click **Download Odoo** or **Create Venv**, so you do not need to restart it.

## Install Python

Choose your operating system, then pick the Python version for your Odoo release from the [table above](#choose-the-right-python-version). The commands change to match your choice.

## Odoo setup prerequisites {#odoo-setup-prerequisites}

These system libraries and tools let Odoo's Python packages install and run. Install them before you set up the virtual environment.

**Ubuntu and Debian**
Install the core dependencies:

```bash
sudo apt install -y git python3-pip build-essential libjpeg-dev libpq-dev \
  libjpeg8-dev libxml2-dev libssl-dev libffi-dev libmysqlclient-dev \
  libxslt1-dev zlib1g-dev libsasl2-dev libldap2-dev liblcms2-dev \
  libblas-dev libatlas-base-dev
```

Install Node.js and the LESS compiler:

```bash
sudo apt install -y npm
sudo npm install -g less less-plugin-clean-css
sudo apt install -y node-less
```

These instructions target Ubuntu and Debian. On other distributions, install the equivalent packages with your package manager.

**macOS**
Install the core dependencies with Homebrew:

```bash
brew install git libxml2 libxslt jpeg libpq openssl@3 freetype
```

Install Node.js and the LESS compiler:

```bash
brew install node
npm install -g less less-plugin-clean-css
```

**Windows**
Install the Visual Studio Build Tools from an **Administrator** PowerShell. They are needed when a Python package has no prebuilt version and must be compiled.

```powershell
winget install --id Microsoft.VisualStudio.BuildTools -e --accept-source-agreements --accept-package-agreements --override "--quiet --add Microsoft.VisualStudio.Workload.VCTools --includeRecommended"
```

Install Node.js and the right-to-left CSS tool:

```powershell
winget install --id OpenJS.NodeJS.LTS -e --accept-source-agreements --accept-package-agreements
npm install -g rtlcss
```

## Install PostgreSQL

Odoo needs a PostgreSQL server. The setup walkthrough installs PostgreSQL 16 on macOS and 17 on Windows, because Odoo 20 needs version 16 or later. The IDE does not install or start PostgreSQL for you.

**Ubuntu and Debian**

1. Check whether PostgreSQL is already installed:

   ```bash
   psql --version
   ```

2. Install the server and client. The service starts automatically.

   ```bash
   sudo apt install postgresql postgresql-client
   ```

**macOS**

1. Check whether PostgreSQL is already installed:

   ```bash
   psql --version
   ```

2. Install it with Homebrew. This also creates a default database cluster, so you do not run `initdb`.

   ```bash
   brew install postgresql@16
   ```

3. Start the service:

   ```bash
   brew services start postgresql@16
   ```

**Windows**

1. Open an **Administrator** PowerShell. If `winget` is not available, [install it first](#install-or-repair-winget).

2. Check whether PostgreSQL is already installed:

   ```powershell
   psql --version
   ```

3. Install PostgreSQL 17. It installs silently with no wizard.

   ```powershell
   winget install --id PostgreSQL.PostgreSQL.17 -e --accept-source-agreements --accept-package-agreements
   ```

   The `postgres` superuser password is set to `postgres`. You need it in a later step. The installer also adds pgAdmin.

4. If `psql --version` is not found, add PostgreSQL to your PATH for this session. Adjust `17` to your version:

   ```powershell
   $env:Path += ";C:\Program Files\PostgreSQL\17\bin"
   ```

### Create the odoo database user

Odoo connects to PostgreSQL as its own user. Create a user named `odoo` that can create databases. You choose its password and enter the same password in the **Database Password** field when you [create `odoo.conf`](/assista-ide/configuration).

**Ubuntu and Debian**

```bash
sudo su - postgres
createuser --createdb --username postgres --no-createrole --no-superuser --pwprompt odoo
psql
```

At the `psql` prompt, make the user a superuser, check it, and exit:

```sql
ALTER USER odoo WITH SUPERUSER;
\du
\q
```

Then return to your own account with `exit`.

**macOS**

```bash
createuser --createdb --no-createrole --no-superuser --pwprompt odoo
psql -d postgres
```

At the `psql` prompt:

```sql
ALTER USER odoo WITH SUPERUSER;
\du
\q
```

**Windows**

```powershell
createuser --createdb --username postgres --no-createrole --no-superuser --pwprompt odoo
```

You are asked for two passwords. First enter the new password for the `odoo` user, then enter the `postgres` user's password (`postgres` if you installed with `winget`). Then open `psql`:

```powershell
psql -U postgres
```

At the `psql` prompt:

```sql
ALTER USER odoo WITH SUPERUSER;
\du
\q
```

> **Why a superuser.**
>
> The setup walkthrough gives the `odoo` user the `SUPERUSER` role. Odoo can then install modules that create PostgreSQL extensions. You can use a less privileged role if you manage extensions yourself.

## Install or repair winget

Windows commands on this page use `winget`, the Windows Package Manager. Open Windows PowerShell **as Administrator** and run this once. It registers `winget` if it is missing:

```powershell
Set-ExecutionPolicy Bypass -Scope Process -Force
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
Add-AppxPackage -RegisterByFamilyName -MainPackage Microsoft.DesktopAppInstaller_8wekyb3d8bbwe
```

When it finishes, open a **new** terminal before you run the install commands. If `winget` cannot be installed on your system, install each tool from its official website instead.

## Check your setup

Run these commands in a new terminal. Each should print a version number.

```bash
git --version
python3 --version      # on Windows: python --version
psql --version
node --version
```

Then confirm PostgreSQL accepts connections as the `odoo` user, using the password you chose:

```bash
psql -h localhost -U odoo -d postgres -c "select 1"
```

## Troubleshooting

| What you see | Cause | Fix |
| :--- | :--- | :--- |
| "Git not found" when you click **Download Odoo** or **Create Venv** | Git is not installed or not on your PATH | Install Git, then click the button again. No restart is needed |
| "No Python found" | The IDE found no Python interpreter | Install a supported Python, then go back to the setup screen. It scans again |
| "The required Python component 'venv' is not available" | Debian and Ubuntu split `venv` into its own package | Run `sudo apt install python3.X-venv` for your Python version |
| "Python version mismatch" | The Python you picked is not in the table for your Odoo version | Pick a supported version. Otherwise you get an empty virtual environment with no packages |
| "Compatible wheels resource not found" or "branch … was not found" | No prebuilt packages exist for this Odoo and Python pair on your platform | Choose a supported pair. See the warning on Windows above |
| Virtual environment creation takes longer than 120 seconds and is cancelled | Antivirus software is scanning the new files, or the Python install is broken | Exclude the project folder from scanning, or pick a different Python |
| `psql` is not recognised on Windows | PostgreSQL's `bin` folder is not on your PATH | Add `C:\Program Files\PostgreSQL\17\bin` to your PATH, then open a new terminal |
| Odoo cannot connect to the database | The `odoo` user, password, host or port does not match `odoo.conf` | Recheck the `odoo` user and the **Database** fields in [Create `odoo.conf`](/assista-ide/configuration) |

## Next steps

* [Download and install Assista IDE](/assista-ide/installation)
* [Walk through the first-run setup wizard](/assista-ide/onboarding)
* [Set up your Odoo environment](/assista-ide/configuration)
