# Odoo 19 ni macOSʼga oʻrnatish: toʻliq qoʻllanma

- Canonical: https://blog.bahromnajmiddinov.uz/blog/odoo-19-macos-ornatish
- Author: Bahrom Najmiddinov
- Published: 2026-10-12
- Odoo versions: 19.0
- Language: uz

> **TL;DR** Odoo macOS uchun tayyor installer chiqarmaydi, shuning uchun Macʼda faqat sourcedan oʻrnatiladi — dasturchi uchun aynan kerakli usul. Maqola Xcode, Python, PostgreSQL, kutubxonalar va wkhtmltopdf ni qadamma-qadam koʻrsatadi.

<!-- Imported from Medium (https://medium.com/@bahromnajmiddinov/odoo-19-ni-macosga-o-rnatish-to-liq-qo-llanma-28eec00576b5) on 2026-10-23. Text is BAHA's; summary/description REVIEW. -->
Windows va Linux haqidagi maqolalardan keyin mantiqiy savol keladi: Macʼda-chi?

Javob qisqa: **Odoo macOS uchun tayyor installer chiqarmaydi.** Rasmiy paketlar faqat Debian asosidagi distributivlar, RPM asosidagi distributivlar va Windows uchun mavjud.

Yaʼni Macʼda bitta yoʻl bor — manbadan oʻrnatish. Va bu yomon xabar emas. Modul yozadigan dasturchi baribir shu usulni tanlaydi, chunki installer kodga kirish imkonini bermaydi.

Quyida butun jarayon bosqichma-bosqich. Barcha buyruqlar Odoo 19 uchun va rasmiy hujjatlardan olingan.

## Nima kerak boʻladi

Ishni boshlashdan oldin shu beshtasi kerak:

- **Homebrew** yoki **MacPorts** — paket menejeri
- **Python 3.10** yoki undan yuqori
- **PostgreSQL 13** yoki undan yuqori
- **Xcode Command Line Tools** — kompilyatsiya uchun
- **Git** — kodni yuklab olish uchun

Homebrew oʻrnatilmagan boʻlsa, brew.sh saytidagi buyruqni bajaring. Qolgan hamma narsa shu orqali oʻrnatiladi.

## 1-qadam. Xcode Command Line Tools

Bu birinchi boʻlishi kerak, chunki Odooʻning baʼzi Python kutubxonalari C kodini kompilyatsiya qilishni talab qiladi. Busiz pip install xatolik bilan toʻxtaydi.

```bash
xcode-select --install
```

Oyna chiqadi — **Install** ni bosing va tugashini kuting. Toʻliq Xcode oʻrnatish shart emas, faqat Command Line Tools yetarli.

Agar allaqachon oʻrnatilgan boʻlsa, buyruq “already installed” deb javob beradi. Bu normal.

## 2-qadam. Python

Odoo 19 **Python 3.10 yoki undan yuqori** versiyani talab qiladi. Bu talab Odoo 17 da oʻzgargan — undan oldin 3.7 yetarli edi.

Homebrew orqali oʻrnating:

```bash
brew install python3
```

Tekshiring:

```bash
python3 --version
pip3 --version
```

**Muhim nuqta.** macOSʼda tizimning oʻz Pythonʼi ham bor va u Odoo uchun mos emas. Shuning uchun har doim python3 va pip3 buyruqlarini ishlating — python emas. Agar python3 --version eski versiyani koʻrsatsa, Homebrewʼning Pythonʼi PATH da toʻgʻri turmagan boʻladi.

## 3-qadam. PostgreSQL

**Odoo 19 uchun minimal versiya — PostgreSQL 13.** Bu Odoo 19 da oʻzgargan: avval 12 yetarli edi.

Rasmiy hujjat macOS uchun **Postgres.app** ni tavsiya qiladi: postgresapp.com

Bu oddiy ilova — yuklab olasiz, Applications papkasiga tashlaysiz va ishga tushirasiz. Terminal bilan ovora boʻlish shart emas.

## CLI vositalarini PATH ga qoʻshish

Postgres.app bilan birga createuser, createdb, psql kabi buyruqlar keladi. Lekin ular terminalda ishlashi uchun PATH sozlanishi kerak.

Qanday qilish kerakligi Postgres.app hujjatida yozilgan: postgresapp.com/documentation/cli-tools.html

Bu qadamni oʻtkazib yubormang — keyingi qadamda aynan shu buyruqlar kerak boʻladi.

## Foydalanuvchi yaratish

Odoo postgres foydalanuvchisi bilan ulanishni **taqiqlaydi**. Yangi foydalanuvchi yaratish shart:

```bash
sudo -u postgres createuser -d -R -S $USER
createdb $USER
```

Bu yerda bitta qulaylik bor: PostgreSQL foydalanuvchisi tizim loginʼi bilan bir xil nomda boʻlgani uchun, bazaga parolsiz ulanish mumkin. Lokal ishlab chiqish uchun bu juda qulay — konfiguratsiyada parol yozish shart emas.

## 4-qadam. Kodni yuklab olish

Git oʻrnatilmagan boʻlsa:

```bash
brew install git
```

Community versiyasini klonlang:

```bash
git clone --branch 19.0 --single-branch https://github.com/odoo/odoo.git
```

Enterprise ham kerak boʻlsa, ikkinchi repozitoriyni ham oling:

```bash
git clone --branch 19.0 --single-branch https://github.com/odoo/enterprise.git
```

**Bu yerni tushunib olish kerak.** Enterprise repozitoriysi toʻliq Odoo kodini oʻz ichiga olmaydi — u faqat qoʻshimcha modullar toʻplami. Server kodi Communityʼda. Enterpriseʼni ishlatish degani — Community serverini ishga tushirib, addons-path ga Enterprise papkasini qoʻshish degani.

Shuning uchun Enterprise uchun **ikkala repozitoriy ham kerak.**

## 5-qadam. Python kutubxonalari

Odoo papkasiga oʻting va oʻrnating:

```bash
cd /CommunityPath
pip3 install setuptools wheel
pip3 install -r requirements.txt
```

CommunityPath — siz klonlagan odoo papkasining manzili.

**Virtual muhit haqida.** Bir nechta Odoo versiyasi bilan ishlasangiz yoki tizim Pythonʼini toza saqlamoqchi boʻlsangiz, virtualenv orqali alohida muhit yarating:

```bash
python3 -m venv venv
source venv/bin/activate
pip3 install -r requirements.txt
```

Bu majburiy emas, lekin Macʼda men buni tavsiya qilaman. Homebrew Pythonʼini global paketlar bilan toʻldirish keyinchalik tartibsizlikka olib keladi.

**Agar oʻrnatish xatolik bersa:** avval Xcode Command Line Tools oʻrnatilganini tekshiring (1-qadam). Bu eng koʻp uchraydigan sabab.

## 6-qadam. Python boʻlmagan bogʻliqliklar

Rasmiy hujjat aniq ogohlantiradi: Python boʻlmagan bogʻliqliklar paket menejeri orqali oʻrnatilishi kerak — Homebrew yoki MacPorts.

Bu pip orqali oʻrnatilmaydigan tizim kutubxonalari. Odatda requirements.txt oʻrnatilayotganda qaysi biri yetishmayotgani xatolik matnida koʻrinadi, keyin uni brew install bilan qoʻshasiz.

## 7-qadam. wkhtmltopdf

Bu paket pip orqali oʻrnatilmaydi. Qoʻlda oʻrnatish kerak va **aynan 0.12.6 versiyasi** — faqat shu versiya kolontitullarni (header, footer) qoʻllab-quvvatlaydi.

Yuklab olish: github.com/wkhtmltopdf/packaging/releases/tag/0.12.6.1-3

Agar buni oʻtkazib yuborsangiz, Odoo ishlaydi — lekin PDF hisobot chiqarmoqchi boʻlganingizda xatolik beradi. Bu koʻpincha loyihaning oʻrtasida, hisobot kerak boʻlganda maʼlum boʻladi.

## 8-qadam. rtlcss (ixtiyoriy)

Faqat arab yoki ibroniy tillarini qoʻllab-quvvatlash kerak boʻlsa. Oʻzbek va rus tili uchun kerak emas — oʻtkazib yuborsangiz boʻladi.

Node.js ni paket menejeri orqali oʻrnating, keyin:

```bash
sudo npm install -g rtlcss
```

## 9-qadam. Ishga tushirish

Hammasi tayyor:

```bash
cd /CommunityPath
python3 odoo-bin --addons-path=addons -d mydb
```

mydb — PostgreSQL maʼlumotlar bazasining nomi.

Enterprise bilan ishlasangiz — **Enterprise yoʻli birinchi turishi shart**, aks holda modullar notoʻgʻri yuklanadi:

```bash
python3 odoo-bin --addons-path=../enterprise,addons -d mydb
```

## Tayyor ekanini qanday bilasiz

Terminalda shu qator chiqishini kuting:

```text
odoo.modules.loading: Modules loaded.
```

Brauzerda oching: [http://localhost:8069](http://localhost:8069)

Kirish maʼlumotlari:

- Email: admin
- Parol: admin

**Diqqat:** bu Odoo interfeysiga kirish hisobi. U PostgreSQL foydalanuvchisidan butunlay boshqa narsa. Ikkisini aralashtirmang.

## Konfiguratsiya fayli

Har safar uzun buyruq yozish noqulay. Sozlamalarni faylga yozing — masalan, odoo.conf:

```ini
[options]
db_host = localhost
db_port = 5432
db_user = odoo
addons_path = addons,../custom-addons
```

Postgres.app bilan parolsiz ulanish ishlasa, db_password qatorini yozish shart emas.

Ishga tushirish:

```bash
python3 odoo-bin -c odoo.conf -d mydb
```

Enterprise bilan ishlasangiz, addons_path qatorini shunday yozing:

```text
addons_path = ../enterprise,addons,../custom-addons
```

## Eng koʻp uchraydigan xatolar

**pip3 install -r requirements.txt kompilyatsiya xatosi bilan toʻxtaydi**  
 Xcode Command Line Tools oʻrnatilmagan. xcode-select --install ni bajaring va qaytadan urinib koʻring.

**createuser: command not found**  
 Postgres.app ning CLI vositalari PATH ga qoʻshilmagan. 3-qadamdagi havoladagi koʻrsatmani bajaring.

**FATAL: role "..." does not exist**  
 PostgreSQL foydalanuvchisi yaratilmagan yoki konfiguratsiyada boshqa nom koʻrsatilgan.

**could not connect to server**  
 Postgres.app ishlamayapti. Ilovani oching va server yashil holatda ekanini tekshiring.

**python3 eski versiyani koʻrsatadi**  
 Tizim Pythonʼi ishlayapti, Homebrewʼniki emas. PATH tartibini tekshiring yoki toʻgʻridan-toʻgʻri /opt/homebrew/bin/python3 manzilini ishlating.

**PDF hisobot chiqmaydi yoki kolontitulsiz**  
 wkhtmltopdf oʻrnatilmagan yoki notoʻgʻri versiya. Aynan 0.12.6 kerak.

**Port band:****Address already in use**  
 Boshqa Odoo nusxasi ishlab turibdi yoki 8069 port egallangan: --http-port=8070

## Macʼda ishlash haqida bir necha eslatma

**Production uchun Mac ishlatilmaydi.** Bu aytilmagan qoida. Mac — bu ishlab chiqish mashinasi. Jonli server Linuxʼda turadi. Macʼda yozilgan modul Linux serverda sinalishi kerak, chunki fayl tizimi va bogʻliqliklar farq qilishi mumkin.

**Multi-processing rejimi haqida.** Odooʻning koʻp jarayonli rejimi (--workers) Linux serverlari uchun chuqur moslashtirilgan. Lokal ishlab chiqishda bu baribir kerak emas — bitta jarayon yetarli.

**Docker alternativa sifatida.** Agar bir nechta Odoo versiyasi bilan parallel ishlasangiz, Docker koʻproq qulaylik beradi — har bir versiya oʻz konteynerida, PostgreSQL ham alohida. Lekin bu alohida mavzu va kod bilan ishlash biroz murakkabroq boʻladi.

## Qisqa xulosa

macOSʼda Odoo oʻrnatish Linuxʼdagiga juda oʻxshash — farq faqat paket menejerida va PostgreSQL ni oʻrnatish usulida.

Eng muhim uchta nuqta:

- **Xcode Command Line Tools birinchi boʻlsin.** Aks holda kutubxonalar oʻrnatilmaydi.
- **python3 va****pip3 ishlating**, python emas.
- **Virtual muhit yarating.** Macʼda global paketlar tez tartibsizlanadi.

Qolgan hammasi standart: PostgreSQL, kod, kutubxonalar, ishga tushirish.
