Установка и настройка Odoo 16 и Pycharm на Ubuntu 22.04

PS. На написание данной статьи меня сподвигло то, что в действительности, для русскоязычных очень мало информации по настройке среды и разработке ERP системы odoo.

بسم الله الرحمان الرحيم

بسم الله الرحمان الرحيم

Odoo (бывшая Tiny ERP,  OpenERP) — ERP- и CRM-система, разрабатываемая бельгийской компанией Odoo S. A. Распространяется по лицензии LGPL. Ознакомиться с данной ERP, CRM.

Данный мануал будет основываться на том, что у вас чистая Ubuntu 22.04.

sudo apt update

Установим Python, необходимые утилиты, вспомогательные библиотеки для компиляции, PostgreSQL сервер и клиент:

sudo apt-get install -y python3-pip python3-venv git libldap2-dev libpq-dev libsasl2-dev xfonts-75dpi postgresql postgresql-client 

По умолчанию единственным пользователем в PostgreSQL является postgres, но Odoo запрещает подключаться как postgres, поэтому вам нужно создать нового пользователя PostgreSQL:

# Заходим от пользователя postgres для управления базой данных
sudo su - postgres
# Создаём нового пользователя, попросит ввести пароль, 
# не забудьте его для дальнейшей работы, я поставлю пароль odoo16
createuser --createdb --username postgres --no-createrole --no-superuser --pwprompt odoo16
# Заходим в консоль управления базой данных
psql
# Даём права суперпользователя на odoo16
ALTER USER odoo16 WITH SUPERUSER;
# Выходим из консоли
\q
# Выходим из терминала пользователя postgres
exit

Клонируем репозиторий

git clone https://github.com/odoo/odoo.git --depth 1 --branch 16.0 --single-branch odoo16

Переходим в директорию, созданную при клонировании репозитория

cd odoo16

Создадим виртуальное окружение:

python3 -m venv venv-odoo16

Активируем виртуальное окружение и установим зависимости для запуска odoo

source venv-odoo16/bin/activate
pip install -r requirements.txt

Установим Wkhtmltopdf для печати отчетов в odoo:

sudo wget https://github.com/wkhtmltopdf/wkhtmltopdf/releases/download/0.12.5/wkhtmltox_0.12.5-1.bionic_amd64.deb
# установим зависимости для wkhtmltox
wget http://archive.ubuntu.com/ubuntu/pool/main/o/openssl/libssl1.1_1.1.1f-1ubuntu2_amd64.deb
sudo dpkg -i libssl1.1_1.1.1f-1ubuntu2_amd64.deb
sudo dpkg -i wkhtmltox_0.12.5-1.bionic_amd64.deb
sudo apt install -f
# Удалим закачанные пакеты
rm -f *_amd64.deb

Установим веб зависимости:

sudo apt-get install -y npm
sudo ln -s /usr/bin/nodejs/usr/bin/node 
sudo npm install -g less less-plugin-clean-css 
sudo apt-get install -y node-less

Установим Pycharm

sudo snap install pycharm-community --classic

Запускаем Pycharm, выбираем Open

002e00f704303c1e75891b2d9509e7b2.png

В всплывающем окне выбираем директорию с odoo:

03afd04180246704f7c29edc1f01a0fd.png

Нажимаем ОК

Далее нажимаем Trust Project

ac39e99833dc18a2831b7630e98e6b6d.png

Далее ждём индексации файлов (шкала загрузки находится снизу рядом с Indexing module 'odoo16') в нашем проекте и ждём, пока подтянется python из нашего виртуального окружения в качестве интерпретатора проекта.

da2999516ec2e1dd432341145c6db74c.png

Создаём дополнительную директорию (в корне проекта) для наших будущих кастомных модулей:

3db41fb63bc18ef0543370e5c18f1d92.png

Далее создаём конфигурационный файл (в корне проекта) для запуска:

7df9288ff6c6216baca89011123691aa.png

И вставляем следующие параметры в конфигурационный файл

[options]
admin_passwd = your_password
db_host = localhost
db_port = 5432
db_user = odoo16
db_password = odoo16
addons_path = path/to/your/addons, path/to/your/custom-addons

Результат должен быть следующим:

! ВАЖНО, не забудьте изменить пароль в строке admin_passwd и запомнить его, он нам дальше понадобится!

! ВАЖНО, не забудьте изменить путь до директории addons в КОРНЕ проекта (не путать с addons которые находятся в odoo/addons) и до директории custom-addons, указав его в конфиге в строке addons_path! Узнать путь до директории addons и custom-addons можно нажав правой кнопкой мыши по ним, далее выбрать Copy Path/Reference…, далее Absolute Path. Либо нажав клавиши Ctrl+Shift+C

658b047998e49dfe5ddaa4a067b3e07e.png

Далее переходим к настройке конфигурации запуска odoo в pycharm

Нажимаем в правом верхнем углу на стрелочку рядом с Current File и далее выбираем Edit Configurations…

15192468e909bf70a96a8cb2ea6d5753.png

В всплывающем окне выбираем Python

d0b8e84b04e1f8aeac073d540e458ecf.png984092fc1a74edeaa19e5b2ec3e7a9d0.png

Указываем Script path до фалйа odoo-bin в корне директории odoo16

a1b590857ccdfbbf254c2c10b453af03.png

Далее заносим в Parameters:

-c odoo.conf

Тем самым указывая какой конфиг мы будем использовать для запуска

Выбираем Python Interpreter (если он не подтянулся автоматически)

85aaca9100f5e7dc6fb17fda9bd9bb7e.png

Указываем Name по желанию и нажимаем Apply и OK

Запускаем odoo16, нажав на зелёный треугольник рядом с odoo-16(у вас может быть другое название конфига)

6f39b9dd75ba3faee0702662281f3181.png

Видим появившиеся логи в терминале:

2120cba946f2c72bee20f8c2e993bda2.png

Переходим в браузере по url http://localhost:8069

7e6229a668f3970ebe56a688163b4e58.png

Вносим данные

4462f610a5a95433cb29191673aec58b.png

Master Password указываем тот, который указывали в конфиге в строке admin_passwd

Остальные данные по вашему усмотрению, также можно загрузить демонстрационные данные, и изменить язык, я же оставлю всё как на скриншоте и продолжу нажав Create database

В появившимся окне логинимся, используя указанные ранее данные

dd26ee3237fc750e4251396d459555f4.png

Заходим в систему

fbcb08cb02b72136b8990a0bd0af4f80.png

Настройка закончена. Можете приступать к использованию ERP/CRM Odoo версии 16.0

© Habrahabr.ru