MoySklad
Odoo
amoCRM
Tizimlashtirish
Marketing
AI agentlar
BUline
MoySklad
Odoo
amoCRM
Систематизация
Маркетинг
Маркетинг: обзор
Стратегия и контент
Стратегия и планКонтент и SMM
Рекламные каналы
Google AdsYandex DirectРеклама в TelegramInstagram и FacebookМаркетплейсы
Органический рост
SEO
Измерение и аналитика
Аналитика и KPI
AI-агенты
BUline
Blog · Odoo

Odoo 20 tizim talablari: Python 3.12–3.14 va PostgreSQL 16

Odoo 20 oldingi versiyaga qaraganda yangiroq Python va PostgreSQL talab qiladi. Maqolada talablar rasmiy hujjat va manba koddan olinadi, server ularni qanday tekshirishi va server tanlashda nimaga eʼtibor berish kerakligi kʻrsatiladi.

15-oktabr, 2026Oʻqish: 8 daqiqaBUline tahririyati

Odoo 20 manba kodidagi release.py faylida uchta ʻzgaruvchi turadi: MIN_PY_VERSION = (3, 12), MAX_PY_VERSION = (3, 14) va MIN_PG_VERSION = 16. Serverga qanday Python va qanday PostgreSQL kerakligi shu uch qiymatdan kelib chiqadi. Rasmiy ʻrnatish hujjati ham xuddi shuni aytadi: ishga tushirish uchun Python 3.12 yoki undan yangisi kerak, PostgreSQL uchun qʻllab-quvvatlanadigan versiyalar 16.0 va undan yuqori.

Server bu uch raqamni qanday tekshiradi

Uch chegara bir xil qatʼiylikda tekshirilmaydi. Python uchun quyi chegara qattiq. Odoo paketi import qilinganda kod interpretator versiyasini tekshiradi va yetarli bʻlmasa assert xatosi bilan tʻxtaydi: «Outdated python version detected» degan xabar chiqadi. Demak Python 3.11 da Odoo 20 umuman ishga tushmaydi.

Yuqori chegara yumshoqroq. Server 3.14 dan yangi Python bilan ishga tushsa, jurnalga ogohlantirish yozadi: bu versiya rasman qʻllab-quvvatlanmaydi, 3.14 ishlating. Tʻxtatmaydi, lekin yangi Python uchun rasmiy ruxsat ham emas. Ishlab chiqarish serveriga yangi Python qʻyishdan oldin shu ogohlantirishni eslab qoling.

PostgreSQL uchun manzara shunga ʻxshash. Server bazaga ulanganda versiya raqamini ʻqiydi va 16 dan past bʻlsa Python ogohlantirishi (warnings.warn) beradi. Kod bu joyda ishni tʻxtatmaydi. Lekin ogohlantirish ruxsat degani emas: 16 dan past versiya qʻllab-quvvatlanadigan konfiguratsiya hisoblanmaydi, boshqa joylarda uzilish bʻladimi yoki yʻqmi, hujjatda aytilmagan.

Oldingi versiyalarga nisbatan: 3.7 dan 3.12 gacha

Talablar bosqichma-bosqich kʻtarilgan. Hujjatdagi izohlarga kʻra Python minimumi 17-versiyada 3.7 dan 3.10 ga, 20-versiyada 3.10 dan 3.12 ga ʻzgargan. PostgreSQL minimumi 19-versiyada 12 dan 13 ga, 20-versiyada 13 dan 16 ga kʻtarilgan. Oxirgi qadam eng katta: bazaga qʻyilgan talab bir yʻla ikki oraliq major versiyani (14 va 15) ʻtkazib yuborgan.

Manba: release.py, tegishli branchlar, 2026-10-15 holatida.
VersiyaMinimal PythonMinimal PostgreSQLPython yuqori chegarasi
Odoo 19.03.10133.14
Odoo 19.1–19.4 (saas)3.12163.14
Odoo 20.03.12163.14

Jadvalda qiziq tafsilot bor. Hujjat ʻzgarishni 20-versiyaga boʻlaydi, lekin release.py da bu sakrash oraliq (saas) versiyada, 19.1 da allaqachon qilingan. Yaʼni 3.12 va 16 talabi 20.0 bilan boshlanmagan, 20.0 uni 19.1 dan meros qilib olgan. Saas versiyalar faqat Odoo Online da bʻlgani uchun serverini ʻzi boshqaradigan jamoa buni major chiqqunga qadar sezmagan bʻlishi mumkin.

Nima uchun aynan 3.12 va 16

Odoo sababni yozmagan: hujjatda ham, kod izohida ham tushuntirish yʻq. Faktlarni yonma-yon qʻyish mumkin. Python loyihasining versiyalar jadvalida 3.10 uchun qʻllab-quvvatlash 2026-yil 1-oktyabrda tugagan, 3.12 uchun reja 2028-yil oktyabr. PostgreSQL 13 ning yakuniy relizi 2025-yil 13-noyabrda chiqqan va u endi qʻllab-quvvatlanmaydi, 16 uchun yakuniy reliz 2028-yil 9-noyabrga rejalashtirilgan.

Demak 19.0 ning minimal talabi, Python 3.10 va PostgreSQL 13, bugun ikkala loyiha tomonidan ham qʻllab-quvvatlanmaydi. Bu tahririyatning kuzatuvi: Odoo qarorini bu sanalar bilan boʻlamagan, lekin sanalar kʻtarilgan talabga mos keladi.

Manbalar: Odoo hujjati, Python devguide, PostgreSQL versiya siyosati. 2026-10-15 holati.
KomponentChiqish sanasiQʻllab-quvvatlash tugashi
Odoo 19.02025-yil sentyabr2028-yil sentyabr (reja)
Odoo 20.02026-yil sentyabr2029-yil sentyabr (reja)
Python 3.102021-10-042026-10-01
Python 3.122023-10-022028-10 (reja)
Python 3.142025-10-072030-10 (reja)
PostgreSQL 132020-09-242025-11-13 (yakuniy reliz)
PostgreSQL 162023-09-142028-11-09 (yakuniy reliz)
PostgreSQL 182025-09-252030-11-14 (yakuniy reliz)

Jadvaldan kʻrinadiki, Odoo 19.0 ʻzining standart davrida hozir Python 3.10 ni ham, PostgreSQL 13 ni ham qʻllab-quvvatlamaydigan muhitda turishi mumkin. Odoo 19 uchun release.py yuqori chegarani 3.14 deb qʻygani yangiroq Python ishlatishga yʻl ochadi. 20-versiyada esa boshlanʻich nuqta yangiroq, ammo uning davri ham 2029 gacha chʻzilgani uchun baribir oraliqda yangilash kerak bʻladi. Bu tahririyat xulosasi: tizim komponentlarini yangilash rejasi Odoo versiyasini yangilash rejasidan alohida yuritilishi kerak.

Yana bir qatlam bor. requirements.txt faylining boshida kutubxonalar Ubuntu 24.04 va Debian 12 dagi python3-* paketlariga mos pin qilingani yozilgan. Python 3.12 satrlarida «Noble» belgisi turadi, yaʼni Ubuntu 24.04 kodnomi. Yangiroq Python satrlari esa «Trixie» va «Resolute» deb belgilangan, bular keyingi Debian va Ubuntu relizlarining kodnomlari.

Sarlavhada Debian 12 ham tilga olingan. Biroq Debian 12 (bookworm) dagi python3 paketi 3.11.2 versiyasida, bu 20-versiya minimumidan past. Demak Debian 12 ning tizim Pythonʼi yetmaydi: Pythonʼni alohida ʻrnatish yoki yangiroq tizim tanlash kerak. Faylda ayrim satrlarda hamon 3.11 sharti turibdi, sarlavha ham kodga nisbatan eskirgandek kʻrinadi. Bu ham tahririyat xulosasi.

Kutubxonalar Python versiyasiga qarab ʻzgaradi

requirements.txt bitta emas, bir necha Python uchun yozilgan. Babel kutubxonasi 3.11–3.12 uchun 2.10.3 versiyasiga, 3.13 va yuqorisi uchun 2.17.0 ga pin qilingan. lxml uchun uch xil qiymat bor: 3.12 da 5.2.1, 3.13 da 5.4.0, 3.14 da 6.0.2. Buyruq shartlarni ʻzi tanlaydi, yaʼni ʻrnatilgan Python paketlar tʻplamini ham belgilaydi.

Hujjat bu fayl qanday tuzilishini ham tushuntiradi: paketlar Odoo chiqqan paytdagi barqaror Debian yoki Ubuntu versiyasidagi mos paketga asoslanadi, eng past versiya tanlanadi. Shuning uchun fayldagi raqamlar eng yangisi emas, tarqatmalarda mavjud raqamlardir.

Ikki raqamdan tashqari: hujjat yana nimani talab qiladi

ʻrnatish sahifasi Python va PostgreSQL bilan cheklanmaydi. Bir nechta amaliy talab alohida eʼtiborga loyiq. Birinchisi baza foydalanuvchisi: Odoo postgres nomi bilan ulanishni taqiqlaydi, shuning uchun alohida PostgreSQL foydalanuvchisi yaratish kerak. Hujjat Linux uchun createuser -d -R -S buyruʻini keltiradi, Windows uchun pgAdmin orqali shunday rol yaratishni tasvirlaydi.

Ikkinchisi kutubxonalarni ʻrnatish usuli. Hujjat tarqatma paketlarini afzal usul deb ataydi, pip esa ehtiyot bʻlib ishlatiladigan muqobil: ogohlantirishda pip xavfsizlik muammolari va buzilgan boʻliqliklarga olib kelishi mumkinligi yozilgan. Debian va Ubuntu uchun debian/control faylini ʻqib paketlarni ʻrnatadigan skript bor. Baʼzi Python paketlari kompilyatsiya talab qiladi, ular uchun libldap2-dev, libpq-dev va libsasl2-dev tizim kutubxonalari kerak.

Uchinchisi PDF hisobotlar. Hujjat wkhtmltopdf pip orqali ʻrnatilmasligini, uni qʻlda 0.12.6 versiyasida ʻrnatish kerakligini yozadi: shundagina hisobotlarda sarlavha va oyoqlik (header va footer) ishlaydi. Bu Odoo bilan birga kelmaydigan alohida komponent. ʻngdan chapga yoziladigan tillar (arab, ivrit) uchun esa rtlcss paketi, demak Node.js ham kerak.

Yana bir cheklov Python ishga tushirilish usuliga tegishli: -O, -OO yoki PYTHONOPTIMIZE bilan optimallashtirish yoqilgan bʻlsa, Odoo RuntimeError bilan tʻxtaydi, bu rejim qʻllab-quvvatlanmaydi. Konteyner yoki xizmat skriptida bunday bayroq qolib ketgan bʻlsa, xato aynan shu yerdan chiqadi.

Server tanlashda tekshiriladigan narsalar

Gipotetik holat. Kompaniyada Debian 12 serveri, PostgreSQL 15 va Odoo 18 ishlab turibdi. Odoo 20 ga ʻtish uchun uch narsa ʻzgarishi kerak: Python 3.12 yoki yangisi (tizim paketi 3.11.2), PostgreSQL 16 yoki yangisi (15 bilan server ogohlantirish beradi) va shu Python uchun qayta ʻrnatilgan kutubxonalar. Misol ʻylab topilgan, lekin tartibni kʻrsatadi: avval Python va baza serveri, undan keyin Odoo ning ʻzi. Teskarisi qilinsa, Odoo kodi yangilanib bʻlgach, ishga tushmaydigan serverga duch kelinadi.

Quyidagi rʻyxat manbalardan chiqarilgan mantiq, hujjatdagi kʻrsatma emas. Yangi server yoki kʻchirish rejalashtirilayotgan bʻlsa, shu tʻrt savolga javob topilsa kifoya.

  1. Python 3.12 dan 3.14 gacha oraliqda ekanini python3 --version bilan tekshirish; tizim paketi yetmasa, alohida ʻrnatishni rejalashtirish.
  2. PostgreSQL 16 yoki undan yangi ekanini tekshirish; eski baza serveri bor bʻlsa, Odoo 20 dan oldin baza serverini kʻtarish.
  3. requirements.txt ni aynan shu Python bilan ʻrnatib kʻrish va xatosiz yiʻilishiga ishonch hosil qilish.
  4. Muddatni solishtirish: Odoo 20 uchun standart qʻllab-quvvatlash 2029-yil sentyabrgacha rejalashtirilgan, Python 3.12 va PostgreSQL 16 esa 2028-yil oxirida upstream qʻllab-quvvatlashdan chiqadi.

Tʻrtinchi band amaliy jihatdan muhim. Odoo 20 ning standart davri tugashidan taxminan bir yil oldin Python va PostgreSQL ning ʻzi qʻllab-quvvatlashdan chiqadi. Demak ʻsha davrda Odoo major versiyasini ʻzgartirmasdan ham tizim komponentlarini yangilash kerak bʻladi. Yuqori chegara 3.14 va PostgreSQL uchun «16.0 yoki undan yuqori» talabi bunga imkon beradi.

Ochiq savol qoladi: keyingi oraliq versiyalar minimumni yana oshiradimi. Hozircha master branchda (20.1 alfa) ham qiymatlar ʻsha 3.12, 3.14 va 16. Ammo 19.1 misoli kʻrsatganidek, ʻzgarish major chiqishini kutmasdan, oraliq versiyada kelishi mumkin.

Manbalar haqida: 20.0 hujjatidagi ʻrnatish sahifasida eski jumla saqlanib qolgan (Python 3.10 yoki undan yuqori bʻlishi kerak deydi), bosh qismida esa 3.12 yoziladi. Maqolada bosh qism va release.py qiymatlari olingan. «Trixie» va «Resolute» kodnomlari requirements.txt dagi belgilarga asoslangan, fayl ularni raqam bilan ochmaydi. Python va PostgreSQL sanalari ularning rasmiy saytlaridan 2026-10-15 da olingan; Python jadvalida kursiv bilan berilgan sanalar reja hisoblanadi.

Manbalar

Maqola quyidagi manbalarga tayanadi:

#odoo#odoo_20#tizim_talablari#python#postgresql#server#ornatish#erp