第二章 Odoo 12開發之開發環境准備


在更深入了解 Odoo 開發之前,我們應配置好開發環境並學習相關的基礎管理任務。本文中,我們將學習創建 Odoo 應用所需用到的工具和環境配置。這里采用 Ubuntu 系統來作為開發服務器實例的主機,可以是雲服務器、本地服務器或者PC 上的虛擬機。

本文主要內容有:

  • 配置主機,可以是 Ubuntu系統或 PC 機上的 Linux 子系統
  • 使用源碼安裝 Odoo,包括數據庫和系統依賴的安裝
  • 管理 Odoo 數據庫(創建、刪除和拷貝)
  • 配置 Odoo 服務器選項
  • 查找並安裝社區插件
  • 使用虛擬環境管理 Odoo 不同版本和項目
  • 開啟服務端開發者模式簡化開發任務

 

開發准備

本文將介紹如何在開發電腦上使用源碼安裝 Odoo,建議使用系統是Ubuntu 18.04 ,也可以選擇 Windows 10,文中會介紹到如何在 Windows 下安裝 Linux 子系統。相關代碼可參見 GitHub 倉庫

設置 Odoo 服務宿主機

推薦使用Debian/Ubuntu來運行 Odoo 服務。雖然 Odoo 是一個跨平台的系統,可以運行在不同的操作系統上,但事實上 Odoo 的研發(R&D)團隊把 Debian 系作為參照部署平台。並且 Odoo 自己的 SaaS 平台也運行在 Debian 之上。這也是社區中最主流的選擇,說明使用Debian 或 Ubuntu 會更容易尋求到幫助和建議。你也許僅有 Windows 相關背景,但對Debian 系有一定了解也非常重要。

當然你依然可以選擇自己喜歡的系統,如 Windows, Mac 或其它Linux發行版本(如 CentOS)。

ℹ️本文中介紹的是在一個全新的系統中進行開發,如果你在已有系統中開發,請做好備份以在出錯時進行恢復

使用 Windows 子系統安裝 Linux

在 Windows 系統中,最簡單的方案是使用 Windows 10自帶的Linux子系統(WSL – Windows Subsystem for Linux)。通過子系統,我們可以在 Windows 內運行 Ubuntu 系統,足以應對 Odoo 開發所需的一切。更多 WSL 相關知識請參考官網

WSL 是Windows 10最近發布中的一個可選功能,使用前需要先啟用。啟用后即可在商店中安裝 Ubuntu,詳見官方幫助文檔

在寫本文時,需要如下步驟來完成安裝:

第一步是要確保 WSL 功能已開啟,以管理員身份打開 PowerShell 並運行:

以上命令需要在單行執行,然后根據提示重啟電腦。然后我們就可以安裝Ubuntu Windows應用,最簡單地方式是在自帶微軟商店中搜索 Ubuntu,在寫本文時最新的長期支持版本(LTS)是18.04,按照提示進行安裝即可。運行 Ubuntu 應用會打開一個bash 命令行,這里可以輸入在 Ubuntu 系統中相同的命令。需要記住在安裝時配置的用戶名和密碼,因為在進行提權操作時會要求輸入該信息(如運行 sudo 時)。

安裝 Linux 服務器

我們還可以選擇在電腦上安裝 Linux,或在局域網乃至雲端安裝 Linux 系統。我們需要一台基於 Debian 的服務器用於 Odoo 服務端開發,如果此前你沒有接觸過 Linux, 請注意 Ubuntu 是一個基於 Debian 的 Linux 發行版本,所以兩者極為相似。Odoo 保證可在當前穩定的 Debian 或 Ubuntu 版本上運行,在寫本文時,分別為 Debian 9(Stretch)和Ubuntu 18.04 LTS(Bionic Beaver)。

更推薦選擇 Ubuntu,因安裝上較 Debian 容易。可從 Ubuntu 官網上下載 ISO 鏡像,建議使用最新的 LTS 版本。如果你剛剛接觸 Linux,使用預配置的鏡像會更容易些。TurnKey Linux提供了含 ISO 的多種格式預安裝鏡像。ISO 格式可以在任意虛擬化軟件上使用,即便是裸機。較優的選擇是 LAPP 鏡像,已安裝了 Odoo 所需的Python 和 PostgreSQL。

為能夠進行遠程操作,通常需安裝OpenSSH服務。在 Ubuntu 的設置助手中有這一服務,但也可以通過如下命令來進行安裝:

然后需要使用 SSH(Secure Shell)客戶端來連接 Odoo 的宿主機,Windows 中常用的有 PuTTYXShell 和 SecureCRT

可以通過如下命令來查看服務器的 IP 地址:

使用 SSH 客戶端可以遠程操作 Linux 主機,還可以獲得比在虛擬機終端操作更好的體驗,我們可以更容易的復制粘貼、修改窗口大小、字體等。

補充:關於虛擬機 Hyper-V,  VMware, VirtualBox和 Vagrant 都是很好的方案,網上有很多資料,限於篇幅本文不再介紹。

源碼安裝 Odoo

在本系列文件第一篇使用開發者模式快速入門 Odoo 12中,我們介紹了快速運行 Odoo 的各種方式,本文中我們將更深入一步,直接通過源碼來安裝、運行 Odoo。

Odoo使用Python 編程語言,數據存儲使用 PostgreSQL數據庫,這是對 Odoo 主機的兩大要求。要使用源碼運行 Odoo,首先要安裝其所依賴的 Python 庫。然后從 GitHub 上下載源代碼,雖然可以下載 zip 和 tar 文件,但使用 Git版本管理工具獲取代碼會更優。

ℹ️具體依賴的安裝根據操作系統和安裝的 Odoo 版本可能會不同。如果在上述步驟中存在問題,請參考官方文檔,可切換版本查看其它版本的操作步驟。

安裝 PostgreSQL 數據庫

Odoo 要使用到 PostgreSQL服務,典型的開發設置是使用安裝 Odoo 的同一台機器安裝PostgreSQL。下面我們就來安裝數據庫服務:

最后這條命令為當前系統用戶創建了一個PostgreSQL用戶,用於 Odoo 實例創建或刪除數據庫時使用。

如果在 WSL內運行 Ubuntu,注意系統服務不會自動啟動。也就是說運行任何需要數據庫連接的命令(如createuser或啟動 Odoo 服務)時都要手動開啟PostgreSQL服務,手動啟動PostgreSQL服務執行:sudo service postgresql start。

安裝 Odoo 系統依賴

要運行 Odoo,我們還需要一些系統包和軟件。獲取版本控制的源碼應安裝 Git,安裝運行 Odoo要求 Python 3.5或之后的版本、Python 3的 pip 以及一些 Python 包的系統依賴:

Odoo 9, 10, and 11版要用到less CSS 預處理器,所以對這些版本需要執行如下安裝:

Odoo 12中無需執行如上命令,但通常我們也會用到前述版本,如果有此情況則仍需安裝。

ℹ️Odoo 12中的修改
CSS 預處理器由 less 改成了 Sass,Sass 編譯器無需進行額外安裝,在 Odoo 12的 Python 依賴中已經安裝了libsass-python。做出這一更改的原因有:Bootstrap 4由 less 調整為 Sass,已有 Python綁定和避免對 Node.js(或 Ruby)的依賴。

源碼安裝 Odoo

為便於管理,我們將在家目錄下創建一個/odoo-dev目錄作為工作目錄。在本系列文章中我們均假設 Odoo 安裝在/odoo-dev目錄下。

Odoo 使用的是 Python 3(3.5或之后的版本),那么在命令行中我們將不再使用python和pip,而是用python3和 pip3。

ℹ️Odoo 11的修改
從版本11開始,Odoo 運行在 Python 3.5及以后的版本上,Odoo 11依然支持 Python 2.7,但 Odoo 12僅能運行在Python 3.5+的環境中。Odoo 10及之前的版本僅可運行在Python 2.7上。

要從源碼安裝 Odoo,我們首先要從 GitHub 上克隆一套 Odoo 源代碼:

~是用戶家目錄的簡寫,比如/home/alan。

如果使用 WSL Windows 子系統,家目錄存放在一個Windows 系統文件夾中一個不易於發現的地方。避免這一情況的一個方法是把工作文件放在常用的文件夾下,然后在子系統中使用軟鏈接(類似 Windows中的快捷方式)。比如mkdir /mnt/c/Users/Public/odoo-dev創建C:\Users\Public\odoo-dev工作目錄,然后ln -s /mnt/c/Users/Public/odoo-dev ~/odoo-dev創建~/odoo-dev Linux目錄,實際上是 Windows 目錄的鏈接。現在就可以使用~/odoo-dev運行所有的命令,比如前述的 git clone,文件將存放在C:\Users\Public\odoo-dev下。

Git命令中的-b 12.0明確表明要下載 Odoo 12.0分支,在寫本文時,這顯得有些多余,因為這正是當前默認的分支。–depth=1表示僅下載當前修訂版本,而不是所有歷史修改記錄,這會使下載更快、內容更少。

小貼士:如需在后續下載歷史提交內容,可以運行git fetch –unshallow

在運行 Odoo 之前,應安裝requirements.txt中所聲明的 Python 依賴:

補充:安裝時如因requirements.txt指定了Babel==2.3.4而報錯,請修改Babel==2.3.4為Babel或 Babel>=2.3.4后再重新執行以上命令;另內存過小也可能導致不易察覺報錯,測試時1G 內存報錯,調整為2G 后正常安裝

這其中的很多依賴都可以通過 Debian 包安裝,如python3-lxml,所以使用 apt 包管理器是一個有效的替代方案。這樣的優勢是在必要時可以自動安裝系統依賴,使用的依賴列表可以在./odoo/debian/control中找到。

還有一些requirements.txt中未包含的 Python 包,亦可安裝來避免警告或用於開啟額外的功能:

 

小貼士:pip3工具可以通過好幾種方式安裝:系統包的方式和原生 Python 的方式。如果pip3報了 import error,在系統中重新安裝或能解決問題。對應的命令為sudo python3 -m pip uninstall pip && sudo apt install python3-pip –reinstall

現在,通過如下命令可啟動 Odoo 實例:

如需停止服務並回到命令行,按下 Ctrl + C。

小貼士:Odoo 10中的修改
現在啟動 Odoo的腳本是./odoo-bin,而之前的 Odoo 版本中為./odoo.py

默認Odoo 實例監聽8069端口,所以在瀏覽器中訪問http://<server-address>:8069 就可以訪問到 Odoo 實例。對於開發者來說,我們會需要使用到多個數據庫,所以在命令行中創建會更為方便,后面會介紹如何實現。現在在命令行終端中按下Ctrl + C 停止 Odoo 服務並回到命令行。

初始化新的 Odoo 數據庫

要按照 Odoo 的數據模式創建和初始化 Odoo 數據庫,我們應使用-d 參數運行 Odoo 服務:

初始化 testdb 數據庫可能要花上一分鍾,一般會以Modules loaded的 INFO 日志信息結束。它有可能不是最后一條日志信息,但在倒數三到四行中可以找到。此時,服務器就可以監聽用戶請求了。

ℹ️Odoo 9中的修改
從 Odoo 9開始,如果數據庫不存在會被自動創建。但在 Odoo 8中並非如此,需使用PostgreSQL命令行中的createdb命令手動創建

默認情況下,數據庫初始化時會帶有演示數據,作為開發數據庫這通常很有用。相當於在前端創建數據庫時勾選了Load demonstration data。如在初始化時無需帶有演示數據,在命令行中添加–without-demo=all。

小貼士:在寫本文時Ubuntu WSL中有一個針對 PostgreSQL 的問題,該環境下無法新建空數據庫。一個解決方案是手動通過createdb 12-library命令創建空數據庫。這樣會重復提示WARNING: could not flush dirty data: Function not implemented。雖然存在警告信息,但數據庫正常創建了。按下Ctrl + C停止警告,使用命令行即可啟動 Odoo 並初始化數據庫。

當前用戶需要是 PostgreSQL 的超級用戶才能創建新數據庫,前文中在安裝過程中已經進行相關操作。

小貼士:對於開發環境,使用數據庫超級用戶來運行 Odoo 實例毫無問題。但在生產環境中,Odoo最佳安全實踐推薦不要使用數據庫超級用戶權限的用戶來運行生產實例。

Odoo 實例已經運行起來了,現在我們可以通過http://<server-name>:8069在瀏覽器中進行訪問。這時會出現登錄界面,如果不知道主機名可以通過 hostname 命令查看或通過 ifconfig 查看 IP 地址。默認管理員的用戶名和密碼均為 admin。登錄后即可看到 Apps菜單,及可安裝的應用。

在命令終端中按下Ctrl + C可以停止 Odoo 服務實例並回到命令行。按下上方向鍵可以回到上一條命令,這樣可以通過同樣的命令再次快速啟動 Odoo。

Odoo 12開發之開發環境准備

管理 Odoo 數據庫

前面我們學習了如何通過命令行創建和初始化 Odoo 數據庫。管理數據庫還有更多的命令值得我們學習。雖然 Odoo 服務可以自動地進行數據庫管理,我們還是可以使用如下命令來手動創建 PostgreSQL 數據庫:

更有趣的是,Odoo 可以通過–template 參數拷貝已有數據庫來創建新的數據庫。要進行這一操作,被拷貝的數據庫不能被連接,所以要確保 Odoo 實例已停止並且沒有其它應用連接該數據庫。命令如下:

事實上,每當創建數據庫時都會使用一個模板,如果沒有指定模板,會使用一個名為 template1的預設模板。

要在系統中列出已有數據庫,需要使用 PostgreSQL 的 psql 工具及-l 參數:

執行上述命令會列出我們截至目前所創建的數據庫。如果執行了前述操作,可以看到列表中有MyDB和MyDB2。列表中還會顯示 每個數據庫所使用的編碼,默認為UTF-8,這也是 Odoo 所需要的數據庫編碼。

如需刪除數據庫,執行dropdb命令:

現在我們已學習了數據庫的基本知識。要了解更多 PostgreSQL請參見官方文檔PostgreSQL使用匯總

警告:dropdb操作是不可撤銷的,在對重要數據庫執行該命令時請務必備份數據庫

其它服務器配置項

Odoo 服務還支持一些其它參數,可通過–help 來查看更多參數:

我們在下面的部分將會學習一些重要參數,首先我們先學習下如何把當前使用參數保存到配置文件中。

Odoo 服務配置文件

大多數的參數都可以保存到配置文件中。默認 Odoo 使用.odoorc文件。Linux 系統中缺省的路徑是在家目錄($HOME)中,而在 Windows 中則和運行 Odoo 的可執行文件放在同一個目錄中。

ℹ️在老版本的 Odoo/OpenERP 中,默認的配置文件為.openerp-serverrc,為保持向后兼容,存在該文件且沒有.odoorc文件的情況下會使用該文件。

一個全新安裝中不會自動創建.odoorc配置文件,我們應使用–save參數來保存,如果配置文件不存在則會創建默認配置文件:

此處我們還使用–stop-after-init參數以在執行結束后停止服務。這一參數常在運行測試或要求運行模塊升級來檢測是否正確安裝時使用。

小貼士:命令行參數可以縮短到保持不混淆的程度,如–stop-after-init可縮寫為–stop。

現在可以通過如下命令來查看缺省配置文件:

以上命令會顯示所有配置項及配認值,編輯文件后在下一次啟動 Odoo 實例后生效,輸入 q 回到命令行。

我們還可以使用–conf(或-c)參數來指定配置文件。配置文件無需包含所有配置項,僅包含需修改默認值的配置項即可。

修改監聽端口

–http-port=(或-p)參數可以修改實例的監聽端口(默認端口8069),不同的端口可以讓我們在同一台機器上運行多個實例。

Odoo 11的修改:在 Odoo 11中引入–http-port參數以替代此前版本使用的–xmlrpc-port

下面就可以做個嘗試,打開兩個終端,第一個中輸入

第二個中輸入

此時就在同一台機器上使用不同端口運行了兩個 Odoo 實例,這兩個實例可以使用同一個數據庫或不同數據庫。這取決於我們使用的配置參數,並且兩個端口上也可以運行相同或不同版本的 Odoo。

小貼士:不同 Odoo 版本必須使用不同的數據庫。嘗試在不同版本上使用相同數據庫將無法正常運行,因為各大版本采用了不兼容的數據庫模式。

數據庫選項

進行 Odoo 開發時,經常會使用多個數據庫,有時還會用到不同版本。在同一端口上停止、啟動不同服務實例,或在不同數據庫間切換,會導致網頁客戶端會話異常。因為瀏覽器會存儲會話的 Cookie。

在瀏覽器中使用私有模式訪問實例可以避免這一問題。另一優良實踐是在服務實例上開啟數據庫過濾器,這樣可以確保實例僅允許對指定數據庫的請求,而忽略其它請求。

Odoo 11中的修改:
從Odoo 11開始,–database(或-d)參數可接收逗號分隔的多個數據庫名,設置–database參數時也會自動設置–db-filter參數,這樣僅有這個數據庫才能為服務實例使用。對於 Odoo 11之前的版本,我們需要使用–db-filter來限制可訪問的數據庫。

–db-filter可限制 Odoo 實例所能使用的數據庫。它接收一個正則表達式來過濾可用數據庫名,要精確匹配一個名稱,表達式需要以^開頭並以$結束。例如,僅允許testdb數據庫,我們可以使用如下命令:

使用–database和–db-filter參數來匹配同一數據庫是一個良好的實踐。事實上從 Odoo 11開始默認會為–database設置對應的–db-filter。

管理服務器日志消息

–log-level 參數可用於設置日志級別,這有助於了解服務的狀況。例如要開始調試日志級別,使用–log-level=debug參數。還有如下選項:

  • debug_sql:查看服務中產生的 SQL 查詢
  • debug_rpc:服務器接收到的請求詳情
  • debug_rpc_answer:服務器發送的響應詳情

其實–log-level是設置Odoo 日志級別的簡化方式,此外通過更完整的–log-handler參數可以有選擇地打開/關閉日志記錄器。默認情況下日志會作為標准輸出(打印到屏幕),但是可以通過logfile=參數來指定日志存儲文件。

安裝第三方插件

在 Odoo 實例中產生新的模塊並安裝,對於初學者總會容易搞不清。下面一起來熟悉這一點。

查找社區模塊

網絡上有很多 Odoo 模塊,Odoo應用商店可以下載一系列模塊安裝到系統中。另一個重要的資源是Odoo 社區聯盟(OCA – Odoo Community Association)維護的模塊,可在 GitHub 上查找。OCA 是一個協調社區貢獻的非營利組織,它同時提升軟件質量,推廣最佳開發實踐和開源價值觀。可通過https://odoo-community.org/來進一步了解 OCA。

為 Odoo 添加模塊,僅需將其拷貝到官方插件的 addons 文件夾中即可,按前述安裝即為~/odoo-dev/odoo/addons/。但這不是一個好的實踐,我們安裝的 Odoo 是由 Git 版本控制的代碼倉庫,將會與上游 GitHub 倉庫保持同步,在其中加入外部插件會不利於管理。

避免這一點,我們可以選取一個或多個存放模塊的目錄,讓 Odoo 服務也會從該目錄中查找模塊來使用。我們不僅可以把自定義模塊放在一個不同的目錄下不與官方的混在一起,還可以通過不同目錄組織這些模塊。

我們可以通過下載系統課程的代碼來准備供 Odoo 安裝的插件模塊,獲取 GitHub 上的源碼,執行如下命令:

此時與/odoo同級的/library文件夾中將包含一些模塊,現在就需告知 Odoo 這個新的模塊目錄。

配置插件(add-ons)路徑

Odoo 服務有一個addons_path參數可設置查找插件的路徑,默認指向Odoo 服務所運行處的/addons文件夾。我們可以指定多個插件目錄,這樣就可以把自定義模塊放到另一個目錄下,無需與官方插件混到一起。

通過如下命令可包含新的模塊路徑來運行服務:

仔細看服務日志,會發現有一行報告插件路徑,信息類似INFO ? odoo: addons paths: […],確認下里面是否有library/目錄。

使用 Python 虛擬環境安裝 Odoo

維護多個 Odoo 版本的代碼在 Odoo 開發中很常見,需要整理一下來保持項目在同一台開發機器上並行。改變版本有時會需要上下文的切換。比如,現在 Odoo 的啟動執行文件是odoo-bin,而在老版本中是odoo.py。遷移到 Python 3后又更易混淆了,我們要知道是選擇python/pip還是python3/pip3,這取決於使用的 Odoo 版本。

Python 有一個在同機器上管理獨立環境的工具virtualenv。每個環境有自己的Python 可執行文件和庫文件,僅需在使用時激活環境,然后python和 pip 無需指定就可以在相應的安裝了 Python庫的環境下運行。要在Debian/Ubuntu上使用virtualenv,執行如下命令:

如果我們使用的工作目錄是~/odoo-dev,並把 Odoo 12源代碼克隆到~/odoo-dev/odoo目錄中,我們可以這樣進行虛擬環境的創建:

一旦激活了虛擬環境,我們可以在其中安裝 Odoo,可以通過 pip 來進行操作:

以上代碼會將~/odoo-dev/odoo中的 Odoo源代碼安裝到虛擬環境中。-e 參數非常重要,這是一個可編輯安裝。它不會復制一份代碼到虛擬環境中,僅僅只是保留了一個到原地址 Odoo 代碼的引用。因為使用到了源代碼,源代碼的修改在當前環境中也同樣生效。

Odoo 的 Python 依賴會被自動安裝,所以無需使用requirements.txt來進行手動安裝。我們也可以通過 pip 來安裝其它所需的 Python 庫:

注意我們無需記住使用的是 Python 2還是 Python 3,這里的pip 命令會指向正確的版本。然后就可以運行 Odoo 了,pip 安裝創建了一個bin/odoo命令,可在任何位置運行,無需涉及源代碼所在目錄。

小貼士:如果決定使用虛擬環境,任何要使用odoo-bin運行的命令,都可以替換為 odoo

以下命令會啟動並關閉所安裝版本 Odoo,打印一些日志信息用於確定 Odoo 版本和使用的插件:

推薦的操作是將配置文件放在虛擬環境文件夾中。以下會為我們的項目初始化一個12-library 數據庫,並創建一個對應的12-library.conf 文件:

自此開始,我們可通過如下命令啟動圖書項目 Odoo 服務:

最后在完成后,通過如下命令來退出環境:

假設我們要在同一台機器上使用 Odoo 10項目,它使用的是 Python 2.7,通過如下命令創建環境、安裝 Odoo:

要使得在 Odoo 版本間切換更容易,我們可以在~/odoo-dev/odoo10目錄下再為10.0分支克隆一份源代碼。然后創建虛擬環境,激活環境,使用 pip創建一個 Odoo 10可編輯安裝。virtualenv沒有使用-p 參數指定 Python 版本,默認為 Python 2,也就是 Odoo 10所需的版本。

如果系統中沒有 Python 2,Ubuntu 18.04默認就不帶 Python 2,則需要執行如下命令來進行安裝:

 

使用 PyPI 下載和安裝插件模塊

社區貢獻的插件可以打包成 Python 庫,發布到 Python 包索引(PyPI -Python Package Index),然后像其它庫一樣使用 pip 安裝。為了能使用這一方法,Odoo 自動添加了site-packages/文件夾至插件配置路徑,用於安裝庫文件。打包可以通過setuptools-odoo工具。

OCA 項目使用該工具打包並發布插件至 PyPI。因不同 Odoo 版本中存在相同模塊,模塊名之前會加一個 Odoo 版本前綴。例如odoo12-addon-partner-fax 是Odoo 12的partner_fax PyPI 包,它為 partner 添加了一個傳真字段。

如需從 PyPI 下載該模塊及依賴,並隨后安裝至odoo12env環境,使用如下命令:

 

服務器端開發者模式

為便於開發者,Odoo 有一個–dev=all參數可激活一些開發者友好的功能。

Odoo 10中的修改:
–dev=…參數是在 Odoo 10中引入的,它取代了此前版本中更簡單、功能也更少的–debug參數

這啟用了一些有用的功能可加快開發流程,最重要的如下:

  • 在保存 Python 文件時自動重載 Python 代碼,避免手動重啟服務
  • 從 XML 中直接讀取 view 定義,避免手動升級模塊

–dev=all將在拋出異常時啟動 Python調試器(pdb),在服務報錯后做后驗(postmortem)分析非常有益。注意這一設置對日志輸出不產生任何影響。有關 Python 調試器命令詳情可參見Python 官方文檔

雖然 all 值適用於大多數情況,–dev還可接一串逗號分隔的選項。缺省情況下會使用Python 調試器 pdb。有些人會傾向安裝、使用其它調試器,來改善功能和易用性。Odoo 是允許我們指定調試器的,常用的有ipdb和pudb。在本系列第八篇Odoo 12開發之業務邏輯 – 業務流程的支持中,我們將介紹如何在 Odoo 開發中使用調試器。

要自動偵測代碼文件的變化 ,服務開發者模式需安裝一個額外的依賴python3-watchdog。我們需要在Ubuntu/Debian系統中安裝它之后才可使用,命令如下:

對於 Odoo 11之前的版本,使用的是 Python 2,則需安裝python-watchdog。同樣可使用 pip 安裝,命令為pip install watchdog。

總結

在本文中,如們學習了如何在 Ubuntu 系統中安裝 Odoo 並從 GitHub 上獲取 Odoo源碼,以及如何創建Odoo 數據庫和運行 Odoo 實例。

現在我們的 Odoo 環境可正常用於開發,並且也可以對數據庫和實例進行管理。有了這些,我們可以進行一步的學習了。在下一篇文章中,我們將從零開始創建第一個 Odoo 模塊,並理解相關的主要元素。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM