# odoo 17開發環境設定 ## 使用Windows下安裝設置 [odoo官方教學第二章 開發環境搭建](https://www.odoo.com/documentation/17.0/developer/tutorials/getting_started/02_setup.html)中說明,odoo採用三層架構,用戶看到的表現皆由HTML5、Javascrip、CSS管理,所有邏輯層皆為Python實現,數據庫使用PostgreSQL管理。 編輯器的部分使用:VSCode Python版本:3.10 準備工具:Git、Github帳號。 ### Step 1. 在cmd設定你的Github login ``` git config --global user.name "Your Name" git config --global user.email "youremail@example.com" ``` :::info 檢查Git工具可以從 C:\Program Files\Git路徑下查看,有沒有安裝,也有可能需要[**在Windows下更新環境變數**](https://www.howtogeek.com/118594/how-to-edit-your-system-path-for-easy-command-line-access/) ::: ### Step 2. clone Odoo 儲存庫 藉由HTTPS克隆下來 ``` git clone https://github.com/odoo/odoo.git ``` ### Step 3. 設定PostgreSQL資料庫 ::: info 1. 將 PostgreSQL 的bin目錄(預設:) 加入到.C:\Program Files\PostgreSQL\<version>\binPATH 1. 使用 pg admin gui 建立一個帶有密碼的 postgres 使用者: 1. 打開pgAdmin。 2. 雙擊伺服器以建立連線。 3. 選擇Object ‣ Create ‣ Login/Group Role. 4. 在角色名稱欄位中輸入Role Name (例如,odoo)。 5. 開啟「Definition 」選項卡,輸入密碼(例如odoo),然後按一下「Save」。 6. 打開Privileges 並切換Can login嗎?切成YesCreate database? 切成Yes。 ::: ### Step 4. 用Anaconda建一個環境 ``` conda create --name odoo python=3.10 conda activate odoo ``` ### 運行odoo 1. 開啟命令提示字元(CMD),需要有系統管理員權限。 2. 進入到conda環境並cd到odoo社群版安裝的位置我的情況下是D:\AWORKSPACE\Github\odoo\odoo 3. 確保conda環境中已經安裝相關依賴 ```pip install setuptools wheel``` ```pip install -r requirements.txt``` 5. ```python odoo-bin -r odoo17 -w 271828 --addons-path=addons -d postgres --db_port 5432 --db_host localhost -i base``` -r <db使用者帳號>:我設做odoo17 -w <password> :我設做271828 -d <db的名稱> : 我設做postgres --db_port <db的連接端口> :預設為5432 --db_host :在windows上為localhost -i base : 初始化db(只有第一次要用) 接下來訪問http://localhost:8069/即可 預設的登錄帳密為 admin admin :::info ``` -d<database>,--database<database> ``` 安裝或更新模組時使用的資料庫。 提供逗號分隔的清單限制對清單中提供的資料庫的存取。 For advanced database options, take a look [**below**](https://www.odoo.com/documentation/17.0/developer/reference/cli.html#reference-cmdline-server-database). ``` -i<modules>,--init<modules> ``` 在執行伺服器之前要安裝的以逗號分隔的模組清單(requires -d). ``` -u<modules>,--update<modules> ```` 在執行伺服器之前要更新的以逗號分隔的模組清單。用於all所有模組。 (requires -d). ``` --addons-path<directories> ``` 儲存模組的目錄的逗號分隔清單。掃描這些目錄中的模組。 ``` --upgrade-path<upgrade_path> ``` 指定額外的升級路徑。 ``` --load<modules> ``` 要載入的伺服器範圍模組清單。這些模組應該提供不一定與特定資料庫相關的功能。這與安裝時始終綁定到特定資料庫的模組(即大多數 Odoo 插件)形成鮮明對比。預設為base,web. ``` -c<config>,--config<config> ``` path to an alternate configuration file. If not defined, Odoo checks ODOO_RC environmental variable and default location $HOME/.odoorc. See configuration file section below. ``` -D<data-dir-path>,--data-dir<data-dir-path> ``` directory path where to store Odoo data (eg. filestore, sessions). If not specified, Odoo will fallback to a predefined path. On Unix systems its one defined in $XDG_DATA_HOME environmental variable or ~/.local/share/Odoo or /var/lib/Odoo. ``` -s,--save ``` 將伺服器設定儲存到目前設定檔(預設情況下,可以使用 覆蓋 )。$HOME/.odoorc-c ``` --without-demo ``` 停用以逗號分隔安裝的模組的演示資料加載,用於all所有模組。需要-d和-i. ``` --pidfile=<pidfile> ``` 將儲存伺服器 pid 的檔案的路徑 ``` --stop-after-init ``` 初始化後停止伺服器。 ``` --geoip-city-db<path> ``` GeoIP City 資料庫檔案的絕對路徑。 ``` --geoip-country-db<path> ``` GeoIP 國家/地區資料庫檔案的絕對路徑。 ::: ## Step 6. 進入開發者模式 [官方的進入開發者模式教學](https://www.odoo.com/documentation/17.0/applications/general/developer_mode.html#developer-mode)