一、獲取 Odoo 源碼
Odoo 是一個開源項目,我們可以輕松的在 Github 上找到它的源碼。
本次中使用的是 12.0 版本的 Odoo,所以在拉取代碼時選擇 12.0 的分支。
確保拉取的速度,使用--depth參數。
git clone https://github.com/odoo/odoo.git -b 12.0 --depth=1 ./odoo_dev
二、啟動Odoo
在Odoo的源碼根目錄下有一個 odoo-bin 的 Python 腳本文件,這個是 Odoo 的啟動腳本。
運行該腳本之后會在8069默認端口啟動 Odoo 服務,啟動之前需要運行 pipenv shell 進入虛擬環境:
方法一:
如果是用 Pycharm 啟動首先需要在 Preferences > Project > Project Interpreter > Add > Existing Environment 中 將使用 pipenv 生成的 Python 添加進去,一般 pipenv 生成的虛擬環境目錄在 ~/.local/share/virtualenvs/,如果是按照上一篇生成的虛擬環境, 則目錄則為 ~/.local/share/virtualenvs/odoo_env-* (* 號為隨機字符串)。
方法二:
$ pipenv shell
進入虛擬環境后就可以運行 Odoo 啟動腳本啦(其實還沒完成!!):
$ ./odoo-bin
啟動后會出現這樣:
2019-03-18 15:30:44,198 14047 INFO ? odoo: Odoo version 12.0 2019-03-18 15:30:44,199 14047 INFO ? odoo: Using configuration file at /home/ray/.odoorc 2019-03-18 15:30:44,199 14047 INFO ? odoo: addons paths: ['/home/ray/.local/share/Odoo/addons/12.0', '/home/ray/odoo_dev/odoo/addons', '/home/ray/odoo_dev/addons'] 2019-03-18 15:30:44,199 14047 INFO ? odoo: database: odoo@default:default 2019-03-18 15:30:44,373 14047 INFO ? odoo.addons.base.models.ir_actions_report: You need Wkhtmltopdf to print a pdf version of the reports. 2019-03-18 15:30:44,544 14047 INFO ? odoo.service.server: HTTP service (werkzeug) running on ray-virtual-machine:8069 2019-03-18 15:30:44,545 14047 INFO ? odoo.modules.loading: init db 2019-03-18 15:30:45,709 14047 INFO odoo odoo.modules.loading: loading 1 modules...
然后你訪問https://IP:8069,這時候會報錯,出現Server 500
原因是我們還沒有在 Odoo 啟動配置文件里配置數據庫賬號和密碼,但是 Odoo 的啟動配置文件在哪里呢??
這是讓我們使用 ./odoo-bin --help,你會發現需要帶參數。
$ ./odoo-bin --help ... Common options: -c CONFIG, --config=CONFIG specify alternate config file -s, --save save configuration to ~/.odoorc (or to ~/.openerp_serverrc if it exists) ...
我們可以看到有 -c 和 -s,
-c代表我們可以自己知道啟動的配置文件。
-s 是Odoo 會在 home 目錄下生成 .odoorc 配置文件,並且用 -c 參數可以指定啟動的配置文件。
若不指定 Odoo 的運行配置文件,並且 home 目錄下存在 .odoorc 配置文件,則 Odoo 默認會選擇這個作為啟動的配置文件。
所有我們可以先運行./odoo-bin -s , 先創建home目錄下的一個.odoorc配置文件:
$ ./odoo-bin -s
然后編輯 ~/.odoorc 文件,將 db_user 和 db_password 分別修改為我們在安裝 PostgreSQL時設置的用戶 odoo 和這個用戶的密碼。
... db_password = 123456 ... db_user = odoo ...
再次運行啟動腳本啟動 Odoo,這時已經可以成功訪問 http://localhost:8069 了,並且進入的是一個數據庫選擇頁面, 我們可以直接選擇 odoo 數據庫或者點擊 「Manage Databases」跳轉到數據庫創建頁面。
這里是進入我在pycharm指定的odoo數據庫了。賬號和密碼默認都是admin。
登錄成功后:
PS:
正常的話照上面的步驟就是可以完成odoo的啟動的,但是有時候事情並不是一帆風順,總會出現錯誤,下面就來說說我在搭建的過程中出現的錯誤吧:
錯誤一:odoo刪除數據庫后出現的KeyError:'ir.http',在我成功搭建后,手賤把odoo用戶中的一個數據庫刪掉了,導致在./odoo-bin -s 啟動的時候出現了此錯誤
解決辦法:
①首先看一下配置文件的數據庫信息是否正確
②在pycharm中,在Run /Debug Configurations 里輸入 -i base -d 新數據庫名
更新中...