「Odoo 基礎教程系列」第一篇——環境準備

Odoo Apps

以前說好的 「Odoo 基礎教程系列」終於來了(撒花)~剛過完年從新投入到工做中,一會兒事情有點多都要忙不過來了,只能在天天晚上下班回家以後慢慢填坑,各位小夥伴久等了!css

在開始以前,這裏要先跟你們知會一聲,在這篇教程以及後面的教程中,都將默認開發環境是 macOSUbuntu,由於在 Windows 中開發老是能遇到未知的坑,處理起來每每非常耗費時間精力,這裏不去爭論系統的優劣,若是沒有 Windows 外的其餘系統的小夥伴,可是又想學習本教程的內容,推薦大家使用虛擬機安裝一個 Ubuntu 做爲開發環境 :)node

OK,下面正式開始本系列教程的第一篇內容。python

基本準備

在開始幹活前,首先要把工具給準備好,那咱們進行 Odoo 開發,須要有哪些工具呢?下面就把最最基礎的羅列出來:git

  • Python 3.5+
  • PostgreSQL
  • Node.js
  • LESS
  • Git

安裝 Python3

首先固然少不了 Python 啦,在 Odoo 10.0 版本以前,使用的都是 Python 2,在 11.0 開始,官方就推薦使用 Python 3.5+,固然使用 Python 3 也是大勢所趨,大膽地切換到 3 吧!github

若是你當前使用的系統沒有安裝 Python 3.5+,你能夠按照下面的步驟輕鬆完成安裝:正則表達式

# 若是你使用的是 Mac
brew install python3
# Ubuntu 用戶
sudo apt-get update
sudo apt-get install python3

安裝 PostgreSQL

而後是強大的數據庫 PostgreSQL,這個數據庫是 Odoo 官方欽定使用的,不能像 Django 那樣能夠根據喜愛用各類庫。Mac 用戶能夠選擇經過官網下載 APP 並跟隨步驟進行安裝或者使用 Homebrew 進行安裝並啓動:sql

brew install postgresql
brew services start postgresql

若是你是 Ubuntu 用戶,則能夠經過如下命令進行安裝:shell

sudo apt-get update
sudo apt-get install postgresql postgresql-contrib

而後執行 psql -V 查看版本號,若是沒有錯誤而且輸出了版本號,則說明已經成功安裝並啓動,若是出現如下錯誤信息:數據庫

psql: could not connect to server: No such file or directory
    Is the server running locally and accepting
    connections on Unix domain socket "/tmp/.s.PGSQL.5432"?

能夠參考 stackoverflow 上的這個回答進行除錯。npm

安裝完畢以後,咱們先建立一個數據庫的超級用戶,在以後運行 Odoo 初始化數據庫的時候將會用上:

sudo createuser --superuser username

安裝 Node.js 和 LESS

Odoo 中有不少的樣式文件是使用 LESS 寫的,在運行的時候 Odoo 會將這些樣式文件轉換成 CSS 文件,具體細節咱們沒必要深究。咱們須要先安裝好 Node.js 後才能安裝 LESS,繼續跟着步驟把它們安裝好。

Ubuntu 13.10 及以前的版本須要手動安裝 Node.js:

wget -qO- https://deb.nodesource.com/setup | bash -
sudo apt-get install -y nodejs

Mac用戶直接使用 Homebrew 進行安裝:

brew install node

安裝好 Node.js 以後接着安裝 LESS:

sudo npm install -g less

就是這麼簡單,咱們已經把 Node.js 和 LESS 都安裝好了,若是感興趣的話,能夠去官網瞭解一下:

安裝 Git

Git 是個很是好用的版本管理工具,平常工做已經離不開它了 :) 在大部分系統中都已經預裝好了,若是不知道當前系統中有沒有預裝 git,不妨在終端裏輸入 git --version 查看一下,若是提示未找到命令,則須要手動安裝,過程一樣十分簡單:

# Ubuntu
sudo apt-get update
sudo apt-get install git
# Mac
brew install git

完美!到這裏咱們已經把目前所須要的工具都準備好了,這才只是個開始,不過別擔憂,接下來也不會很難。

依賴管理器

熟悉 Python 開發的小夥伴應該都瞭解或者使用過各類虛擬環境,如 virtualenvvirtualenvwrapper 等,在這系列的教程中,咱們將用 Pipenv 來建立和管理項目的虛擬環境和依賴包。

若是你還沒了解過 Pipenv,那下面就來簡單瞭解一下。Pipenv 是 Python 項目的依賴管理器,相似於 Node.jsnpmyarn 等。它會自動爲項目建立和管理一個虛擬環境,當你添加或刪除包時,它也會自動地在 Pipfile 中添加或刪除對應的包信息。

在終端執行如下命令進行安裝:

pip install --user pipenv

選項 --user 表示安裝在用戶目錄下,這樣作能夠防止破壞任何系統範圍的包。安裝好後,在 Shell 中執行 pipenv --version 查看版本信息,應該會看到輸出以下信息(版本號可能會不一樣):

pipenv, version 10.0.0

若是提示未找到 pipenv,則須要手動將用戶基礎目錄下的 /bin 添加到 PATH 中。使用 python -m site --user-base 找到用戶基礎目錄的路徑,而後執行:

export PATH="/Users/name/Library/Python/3.6/bin:$PATH"

記得將 /bin:$PATH 前的路徑替換爲你找到的路徑。

注:若是你使用的是 Zsh,編輯 ~/.zshrc 並將 export PATH=/Users/name/Library/Python/3.6/bin:$PATH 添加到文件底部,不要忘了替換路徑 :)

再次執行 pipenv --version ,此時應該能夠成功查看到版本信息了。

獲取 Odoo 源碼

Odoo 有兩個版本,一個是社區版,一個是企業版,社區版是開源免費的,企業版固然是相應須要收費的,兩個版本會有一些差別,可是這些問題不大,咱們拉取官方倉庫的社區版源碼:

git clone [https://github.com/odoo/odoo.git](https://github.com/odoo/odoo.git) -b 11.0 --depth=1

由於衆所周知的網絡問題可能速度會比較慢,耐心等待拉取完成後,進入源碼目錄 cd odoo,能夠看到第一層目錄結構以下:

$ tree -L 1
.
├── CONTRIBUTING.md
├── COPYRIGHT
├── LICENSE
├── MANIFEST.in
├── Makefile
├── README.md
├── addons
├── debian
├── doc
├── odoo
├── odoo-bin
├── requirements.txt
├── setup
├── setup.cfg
└── setup.py

很好,已經萬事俱備了,還差一點咱們就能夠成功運行 Odoo 了,事不宜遲,繼續咱們的教程。

安裝依賴

編輯文件 requirements.txt,刪除最後一行的 pypiwin32 ; sys_platform == 'win32' 並保存(若是你的開發環境是 Windows,你應該刪除的是帶有 sys_platform != 'win32' 的行),而後建立虛擬環境(使用 Python 3)並安裝相關依賴:

pipenv install --three

選項 --three 用於指定初始化環境所使用的 Python 的版本爲 Python3,若是你在其餘項目中須要使用 Python2 初始化環境,能夠將該選項指定爲 --two

由於目錄下存在文件 requirements.txt,故 pipenv 會將其轉換成 Pipfile,而且會自動安裝裏面列出的全部依賴。在通過可能有一點點漫長的等待以後,終於安裝完畢啦!此時應該會看到這樣的提示信息:

To activate this project's virtualenv, run the following:
 $ pipenv shell

來試試看執行 pipenv shell 激活虛擬環境,而後運行 python,嘗試導入幾個包看看依賴包是否已經成功安裝:

>>> import jinja2
>>> import lxml
>>> import qrcode

若是沒有報錯,就說明咱們的環境已經準備好了,接下來咱們要嘗試運行 Odoo 的服務了,緊不緊張,刺不刺激,繼續下一步吧!

運行 Odoo

先建立一個數據庫,用於 Odoo 初始化數據使用:

createdb demo -U username

還記得前面咱們建立了一個超級用戶嗎?請不要忘記把命令裏的 username 替換成你建立的那個用戶名哦 XD

在 Odoo 根目錄下執行如下命令運行 Odoo 服務:

./odoo-bin --addons-path=addons --db-filter=^demo$ -d demo

這裏解釋一下上面這條命令裏各個選項的意義:

  • --addons-path 指定要加載的模塊目錄
  • --db-filter 用於強制指定使用的數據庫,支持正則表達式,這個選項的具體用途咱們在後面涉及到的話會再次講解,如今不理解也不要緊
  • -d 用於指定使用的數據庫

命令裏的 demo 就是咱們前面建立的數據庫的名稱,若是你不是用的這個名稱,記得替換成你建立的數據庫名。

在一個新的數據庫中初次運行 Odoo,它將會進行初始化,這裏須要稍微等待一小會兒,當你看到如下字樣時,就說明 Odoo 的服務已經成功運行並能夠訪問了:

2018-02-28 12:34:51,398 1561 INFO demo odoo.modules.loading: Modules loaded.

如今能夠打開瀏覽器,訪問 http://localhost:8069/ 這個地址,若是能夠看到登陸界面,恭喜你,你已經成功搭建好了運行環境了!

Odoo Login Page

輸入賬號和密碼(默認是 admin)登陸,就會跳轉到後臺界面,如今暫時什麼都沒有,默認打開的是 Apps 應用安裝模塊的頁面,就是文章開頭所展現的那張圖片裏的那個界面,這裏看到的這些都是 Odoo 自帶的一些基礎應用,你能夠隨便裝幾個應用,如 BlogsLive Chat 等試試看 :)

瞎說幾句

這個系列第一篇正式的教程,就到這裏了,若是遇到什麼問題儘管在評論中提出來,我會盡可能協助你們解決的。礙於 996 的上班時間,接下來的教程更新可能會有點慢,但願各位小夥伴能夠耐心等待 :)

而後就是,開了個微信羣,方便交流,雖然貌似好像並無什麼人願意加進來?加好友時備註加羣,接受後會拉進羣內。

微信號

相關文章

相關文章
相關標籤/搜索