Eclipse PyDev

Cách thiết lập Môi trường Phát triển & Lập trình Odoo trên Ubuntu 22.04 Jammy JellyFish

Trong hướng dẫn này, tôi sẽ hướng dẫn các bạn cách thiết lập môi trường phát triển và lập trình Odoo trên Ubuntu 22.04 với Eclipse làm IDE. Hướng dẫn này có hiệu lực cho tất cả các phiên bản Odoo từ 8.0 đến 16.0 và hiệu quả đối với Máy cài sẵn Ubuntu 22.04 mới và không có các công cụ được cài đặt sẵn, ví dụ như JDK, Python hoặc Eclipse. Bạn có thể bỏ qua để đến bước tiếp theo nếu máy đã cài sẵn các thứ trên.

Xin lưu ý rằng Nếu bạn muốn cài đặt Odoo cho máy chủ của mình, bạn có thể đọc các bài viết khác của tôi:

  1. Cài đặt Odoo 8 trên Máy chủ Ubuntu 22.04
  2. Cài đặt Odoo 9 trên Máy chủ Ubuntu 22.04
  3. Cài đặt Odoo 10 trên Máy chủ Ubuntu 22.04
  4. Cài đặt Odoo 11 trên Máy chủ Ubuntu 22.04
  5. Cài đặt Odoo 12 trên Máy chủ Ubuntu 22.04
  6. Cài đặt Odoo 13 trên Máy chủ Ubuntu 22.04
  7. Cài đặt Odoo 14 trên Máy chủ Ubuntu 22.04
  8. Cài đặt Odoo 15 trên Máy chủ Ubuntu 22.04
  9. Cài đặt Odoo 16 trên Máy chủ Ubuntu 22.04

Bây giờ, hãy bắt đầu với hướng dẫn từng bước của tôi để thiết lập môi trường phát triển Odoo của bạn với Eclipse PyDev và nhiều phiên bản Python và PostgreSQL. Bài đăng này quá dài có thể mất 2 giờ hoặc hơn. Xin hãy kiên nhẫn!

Các yêu cầu tiên quyết

Để thiết lập môi trường phát triển Odoo, chúng ta cần cài đặt nhiều gói và phần mềm khác nhau để đáp ứng các yêu cầu của phiên bản Python và phiên bản PostgreSQL.

Như thường lệ, chúng tôi luôn cập nhật hệ thống của mình để có các bản sửa lỗi và cập nhật mới nhất trước khi cài đặt

sudo apt update
sudo apt dist-upgrade

Cài đặt các gói bắt buộc

sudo apt install make build-essential libreadline-dev \
wget curl llvm libssl-dev zlib1g-dev libbz2-dev  \
libsqlite3-dev libncurses5-dev libncursesw5-dev \
xz-utils tk-dev libffi-dev liblzma-dev libgdbm-dev \
libnss3-dev libedit-dev libc6-dev python-setuptools \
libxml2-dev libxslt1-dev libsasl2-dev python3-dev \
libldap2-dev libjpeg-dev python2-dev libpq-dev

Khởi động lại máy của bạn sau đó tiến hành cài đặt less compiler

Cài đặt Less Compiler

Odoo 9 và Odoo 10 và Odoo 11 yêu cầu less compiler để biên dịch less sang css. Đây là cách chúng tôi cài đặt less compiler

# Install nodejs
sudo apt install nodejs
# Install Nodejs package manager
sudo apt install npm
# update for the latest npm
sudo npm install -g npm

# install less compiler using npm
sudo npm install -g less less-plugin-clean-css

Cài đặt wkhtmltopdf

Odoo tạo PDF từ HTML, đó là lý do tại sao chúng ta cần wkhtmltopdf.

Tải xuống wkhtmltopdf

wget https://github.com/wkhtmltopdf/packaging/releases/download/0.12.6.1-2/wkhtmltox_0.12.6.1-2.jammy_amd64.deb

Cài đặt wkhtmltopdf

sudo dpkg -i wkhtmltox_0.12.6.1-2.jammy_amd64.deb
# force install dependencies
sudo apt -f install

Cài đặt Hệ Quản trị Cơ sở Dữ liệu PostgreSQL

Vì mỗi phiên bản Odoo hỗ trợ một số phiên bản PostgreSQL nhất định. Vì vậy, chúng ta quyết định cài đặt đa phiên bản PostgreSQL để hỗ trợ các phiên bản Odoo khác nhau từ 8.0 đến 16.0. Một cách tón tắt thì:

Thêm PPA PostgreSQL

# Create the file repository configuration: 
sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'
 
# Import the repository signing key: 
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/postgresql.gpg 
 
# Update the package lists: 
sudo apt update
# Upgrade the system for latest fixes and updates
sudo apt dist-upgrade

Cài đặt đa phiên bản PostgreSQL

Trong phần này, chúng tôi sẽ cài đặt bốn phiên bản PostgreSQL chạy trên các cổng khác nhau:

  1. PostgreSQL 14: cổng 5432 (cổng mặc định), để hỗ trợ Odoo 16
  2. PostgreSQL 9.6: cổng 5433, hỗ trợ Odoo 8, Odoo 9
  3. PostgreSQL 10: cổng 5434, hỗ trợ odoo 10, Odoo 11
  4. PostgreSQL 12: cổng 5435, hỗ trợ Odoo 12, Odoo 13, Odoo 14, Odoo 15

QUAN TRỌNG: thứ tự cài đặt bên dưới là QUAN TRỌNG!

Cài đặt PostgreSQL 14

sudo apt install postgresql postgresql-contrib

Cài đặt PostgreSQL 9.6

sudo apt install postgresql-9.6 postgresql-contrib-9.6 postgresql-client-9.6

Cài đặt PostgreSQL 10

sudo apt install postgresql-10 postgresql-client-10

Cài đặt PostgreSQL 12

sudo apt install postgresql-12 postgresql-client-12

Tạo Role cho mục đích phát triển

Trong phần này, chúng tôi sẽ tạo các role cho mỗi phiên bản PostgreSQL có cùng tên với tài khoản Linux / Ubuntu của bạn. Trong trường hợp của tôi, tôi sẽ tạo role có tên david cho bốn phiên bản đó vì tên đăng nhập Ubuntu của tôi là david. Bạn nên điều chỉnh các lệnh tùy theo môi trường của bạn.

Tạo role phát triển cho PostgreSQL 14

sudo -u postgres createuser --interactive -p 5432

Khi hệ thống yêu cầu bạn cấu hình quyền truy cập cho role mới, vui lòng nhập như bên dưới

Thêm role PostgreSQL mới để phát triển Odoo

Lệnh trên tạo mới một role có tên là david KHÔNG phải là một superuser nhưng có quyền tạo cơ sở dữ liệu và các vai trò mới cho PostgreSQL 14.

Bây giờ bạn có thể bắt đầu làm tương tự cho các phiên bản khác của PostgreSQL

Tạo role phát triển cho PostgreSQL 9.6

sudo -u postgres createuser --interactive -p 5433

Tạo role phát triển cho PostgreSQL 10

sudo -u postgres createuser --interactive -p 5434

Tạo role phát triển cho PostgreSQL 12

sudo -u postgres createuser --interactive -p 5435

Tải xuống mã nguồn Odoo từ GitHub

Trong phần này mình sẽ hướng dẫn các bạn cách để có tất cả các mã nguồn Odoo từ 8 đến 16 một cách nhanh nhất

Tải xuống Odoo 8 từ GitHub

git clone -b 8.0 https://github.com/odoo/odoo.git ~/git/odoo8

Xin lưu ý rằng nếu bạn muốn Odoo hỗ trợ các phiên bản PostgreSQL mới hơn (tức là PostgreSQL 10, PostgreSQL 12), bạn có thể sao chép Bản fork của Viindoo thay vào đó, sử dụng lệnh dưới đây:

git clone -b 8.0 https://github.com/Viindoo/odoo.git ~/git/odoo8

Nếu bạn muốn sử dụng git qua SSH để bảo mật và hiệu suất, bạn có thể tham khảo hướng dẫn của tôi về cách sao chép kho lưu trữ github qua SSH.

Sao chép Odoo 8 và Checkout cho các phiên bản Odoo khác

Thay vì thực hiện sao chép lại mất nhiều thời gian, chúng ta có thể sao chép odoo8 đã tải xuống và checkout nhánh 9.0.

# copy ~/git/odoo8 to ~/git/odoo9
cp -R ~/git/odoo8 ~/git/odoo9
# checkout the branch 9.0 for Odoo 9
cd ~/git/odoo9
git checkout 9.0

Bây giờ, làm tương tự cho Odoo 10 và 11 và 12 và 13 và 14 và 15 và 16 thì bạn đã hoàn thành.

# for Odoo 10
cp -R ~/git/odoo8 ~/git/odoo10
cd ~/git/odoo10
git checkout 10.0
# for Odoo 11
cp -R ~/git/odoo8 ~/git/odoo11
cd ~/git/odoo11
git checkout 11.0
# for Odoo 12
cp -R ~/git/odoo8 ~/git/odoo12
cd ~/git/odoo12
git checkout 12.0
# for Odoo 13
cp -R ~/git/odoo8 ~/git/odoo13
cd ~/git/odoo13
git checkout 13.0
# for Odoo 14
cp -R ~/git/odoo8 ~/git/odoo14
cd ~/git/odoo14
git checkout 14.0
# for Odoo 15
cp -R ~/git/odoo8 ~/git/odoo15
cd ~/git/odoo15
git checkout 15.0
# for Odoo 16
cp -R ~/git/odoo8 ~/git/odoo16
cd ~/git/odoo16
git checkout 16.0

Cài đặt và thiết lập môi trường ảo cho Python 2.7 và Python 3

Với Odoo 8, Odoo9 và Odoo 10, chúng ta bắt buộc phải sử dụng Python 2.7 vì các phiên bản Odoo này không hỗ trợ Python 3. Đối với các phiên bản Odoo sau 10 thì theo kinh nghiệm của tôi, chúng tôi sẽ sử dụng các phiên bản Python cho Odoo như sau:

Bản đồ các phiên bản Python so với Odoo

  • Odoo 11: Python 3.6
  • Odoo 12 và 13: Python 3.7
  • Odoo 14 và 15: Python 3.8
  • Odoo 16: Python 3.10

Cài đặt Python

Việc cài đặt khá dễ dàng bằng cách làm theo bài hướng dẫn của tôi về Cài đặt nhiều phiên bản Python trên Ubuntu 22.04. Tóm tắt:

Cài đặt Python 2

# install Python 2
sudo apt install python2 -y
# install pip for Python2
curl https://bootstrap.pypa.io/pip/2.7/get-pip.py --output get-pip.py
python2 get-pip.py
# install virtual environment for Python 2
pip2 install virtualenv

Cài đặt Python 3.6 từ nguồn

wget https://www.python.org/ftp/python/3.6.15/Python-3.6.15.tgz
tar -xzf Python-3.6.15.tgz
cd Python-3.6.15
./configure --enable-optimizations --with-lto --with-pydebug
make -j 4  # adjust 4 for number of your CPU cores
sudo make altinstall

Cài đặt Python 3.7, 3.8, 3.10

# Add Deadsnakes PPA
sudo add-apt-repository ppa:deadsnakes/ppa
# Install Python 3
sudo apt install python3.7 python3.7-dev \
python3.8 python3.8-dev
# Install Virtual Environment
sudo apt install python3.7-venv python3.8-venv python3.10-venv

Tạo và quản lý môi trường ảo (Virtual Environment)

Theo giả định về thông tin phiên bản Odoo và Python, các môi trường ảo sẽ được tạo như sau:

Tạo môi trường ảo Python 2 cho Odoo 8, 9, 10

Dưới đây là các lệnh để tạo môi trường ảo và các thư viện cần thiết cho Odoo 8

# create virtual environment named odoo8 in ~/python-venv/2.7/odoo8
virtualenv ~/python-venv/2.7/odoo8
# activate the virtual environment
source ~/python-venv/2.7/odoo8/bin/activate
# upgrade pip for the latest version
pip install --upgrade pip
# install Odoo 8's required libraries
pip install -r ~/git/odoo8/requirements.txt
# deactivate the virtual environment
deactivate

Dưới đây là các lệnh tương tự để tạo môi trường ảo và các thư viện cần thiết cho Odoo 9

virtualenv ~/python-venv/2.7/odoo9
source ~/python-venv/2.7/odoo9/bin/activate
pip install --upgrade pip
pip install -r ~/git/odoo9/requirements.txt
deactivate

Dưới đây là các lệnh tương tự để tạo môi trường ảo và các thư viện cần thiết cho Odoo 10

virtualenv ~/python-venv/2.7/odoo10
source ~/python-venv/2.7/odoo10/bin/activate
pip install --upgrade pip
pip install -r ~/git/odoo10/requirements.txt
deactivate

Tạo môi trường ảo Python 3 cho Odoo 11, 12, 13, 14, 15, 16

Tạo môi trường ảo trong Python 3 hơi khác một chút so với việc tạo trong Python2. Nó sử dụng mô-đun venv của Python 3 thay vì gói nhị phân như trong Python2.

Cũng xin lưu ý rằng tất cả các phiên bản Odoo từ 11 có thể hoạt động tốt với Python 3.7 và Python 3.8. Vì vậy, trong trường hợp bạn không muốn biên dịch Python 3.6, bạn có thể sử dụng 3.7 hoặc 3.8, tùy thuộc vào yêu cầu của bạn.

# create virtual environment named odoo11 in ~/python-venv/3.6/odoo11
python3.6 -m venv ~/python-venv/3.6/odoo11
# activate the virtual environment
source ~/python-venv/3.6/odoo11/bin/activate
# upgrade pip for the latest version
pip install --upgrade pip
# install Odoo 11's required libraries
pip install -r ~/git/odoo11/requirements.txt
# deactivate the virtual environment
deactivate
python3.7 -m venv ~/python-venv/3.7/odoo12
source ~/python-venv/3.7/odoo12/bin/activate
pip install --upgrade pip
pip install -r ~/git/odoo12/requirements.txt
deactivate
python3.7 -m venv ~/python-venv/3.7/odoo13
source ~/python-venv/3.7/odoo13/bin/activate
pip install --upgrade pip
pip install -r ~/git/odoo13/requirements.txt
deactivate
python3.8 -m venv ~/python-venv/3.8/odoo14
source ~/python-venv/3.8/odoo14/bin/activate
pip install --upgrade pip
pip install -r ~/git/odoo14/requirements.txt
deactivate
python3.8 -m venv ~/python-venv/3.8/odoo15
source ~/python-venv/3.8/odoo15/bin/activate
pip install --upgrade pip
pip install -r ~/git/odoo15/requirements.txt
deactivate
python3.10 -m venv ~/python-venv/3.10/odoo16
source ~/python-venv/3.10/odoo16/bin/activate
pip install --upgrade pip
pip install -r ~/git/odoo16/requirements.txt
deactivate

Cài đặt & thiết lập IDE Eclipse với PyDev

Cài đặt Eclipse & PyDev

Bạn có thể theo dõi bài của tôi về cách cài đặt Eclipse với PyDev trên Ubuntu 22.04 để hoàn tất cài đặt IDE.

Thiết lập Dự án Odoo và Trình thông dịch

Bây giờ, khởi động IDE Eclipse của bạn. Quy trình chung khi thiết lập một dự án Odoo trong Pydev bao gồm 2 bước chính:

Định cấu hình Trình thông dịch cho các dự án Odoo

  1. Để thực hiện việc đó, hãy bấm vào Windows -> Preference và trong ngăn bên trái,
  2. Lựa chọn PyDev> Trình thông dịch> Trình thông dịch Python
  3. Sau đó, ở phía bên phải, nhấp vào Mới sau đó chọn menu thả xuống Duyệt tìm exe python / pypyvà chọn tệp nhị phân python từ đường dẫn đã cài đặt bên trong / usr / bin /. Đó là:
    • Python 2.7: /usr/bin/python2.7
    • Python 3.6: /usr/bin/python3.6
    • vân vân
  4. Nhập tên cho Trình thông dịch. Cách tốt nhất là đặt tên nó ở dạng “Python xy - tên dự án”. Ví dụ: khi chúng tôi cấu hình trình thông dịch cho dự án Odoo 8, chúng tôi nên đặt tên nó là “Python 2.7 - Odoo 8”.
  5. Nhấp vào Áp dụng và Hệ thống sẽ tự động phát hiện phiên bản python của bạn và các đường dẫn thiết lập cũng như phần còn lại của các biến môi trường.
  6. Bấm OK để Đóng Windows này sau khi Eclipse hoàn tất việc thiết lập Môi trường.

Tạo các dự án Odoo

  1. Từ menu Tệp, hãy chọn Mới> Dự án PyDev
  2. Từ cửa sổ Dự án PyDev,
    • Đầu vào 0. Odoo8 cho hộp Tên dự án. Chúng ta có 0. làm tiền tố cho tên dự án vì chúng ta có thể muốn những tên này nằm trong các hàng đầu tiên của bảng danh sách dự án.
    • Bỏ chọn hộp Sử dụng Mặc định và duyệt tìm thư mục chứa mã nguồn Odoo 8. Nó là ~ / git / odoo8 trong trường hợp của chúng ta.
    • Trong hộp Interpreter, hãy chọn trình thông dịch thích hợp. Trong trường hợp này đối với dự án Odoo 8, chúng ta nên chọn “Python 2.7 - Odoo 8”.
  3. Bây giờ, nhấp vào Tiếp theo sau đó nhấp vào Kết thúc.

Chạy & gỡ lỗi Odoo từ Eclipse

Bây giờ, đã đến lúc kiểm tra môi trường phát triển Odoo của bạn bằng cách khởi động Odoo của bạn ở chế độ đang chạy và chế độ gỡ lỗi.

  1. Từ ngăn bên trái, hãy mở dự án Odoo của bạn để tìm odoo.py (cho Odoo 8 và Odoo 9) hoặc odoo-bin
  2. Nhấp chuột phải vào nó và Run As> Python Run để khởi động Odoo lần đầu tiên. Nếu bạn muốn khởi động nó ở chế độ gỡ lỗi, hãy gỡ lỗi dưới dạng> Python Run

Cài đặt pgAdmin 4

pgAdmin 4 là một công cụ giúp bạn quản lý cơ sở dữ liệu PostgreSQL của mình bằng giao diện người dùng đồ họa dựa trên web mang lại nhiều tiện lợi hơn so với việc sử dụng các dòng lệnh.

Bạn có thể đọc bài đăng của tôi về cách cài đặt pgAdmin 4 trên Ubuntu 22.04 và làm theo hướng dẫn ở đó để cài đặt pgAdmin 4 Desktop cho môi trường phát triển của bạn.

Xin lưu ý rằng bạn có thể không cần cài đặt pgAdmin 4 Web. Đối với môi trường phát triển của bạn, bạn cần phải cài đặt pgAdmin 4 Desktop phiên bản duy nhất.

Nếu bạn đang sử dụng Window thì sao?

Odoo không chính thức hỗ trợ chạy trong môi trường Window. Vì vậy, tôi khuyên bạn không nên sử dụng Windows làm môi trường phát triển Odoo nữa. Nếu bạn không thể từ bỏ Window của mình, tôi khuyên bạn nên cài đặt VirtualBox và thiết lập máy ảo Ubuntu 22.04 Desktop cho mục đích phát triển Odoo.

Để lại một câu trả lời