源代码安装¶
源“installation”并不是指安装 Odoo,而是指直接从源代码运行 Odoo。
使用 Odoo 源代码对于模块开发者来说可能更加方便,因为其比使用打包安装程序更容易访问。
它使启动和停止 Odoo 比打包安装程序设置的服务更加灵活和明确。同时,它允许通过 命令行参数 覆盖设置,而无需编辑配置文件。
最后,它提供了对系统设置的更大控制权,并且更容易同时保持(并运行)多个版本的 Odoo。
获取源代码¶
获取 Odoo 源代码有两种方式:作为 ZIP 归档文件 或通过 Git。
归档¶
社区版:
企业版:
Git¶
注解
需要安装 Git,并建议具备基本的 Git 命令知识以继续操作。
要克隆一个 Git 仓库,请选择使用 HTTPS 或 SSH。在大多数情况下,最佳选项是 HTTPS。但是,如果您要对 Odoo 源代码进行贡献,或者正在遵循 开始开发人员教程,请选择 SSH。
$ git clone https://github.com/odoo/odoo.git
$ git clone https://github.com/odoo/enterprise.git
$ git clone git@github.com:odoo/odoo.git
$ git clone git@github.com:odoo/enterprise.git
C:\> git clone https://github.com/odoo/odoo.git
C:\> git clone https://github.com/odoo/enterprise.git
C:\> git clone git@github.com:odoo/odoo.git
C:\> git clone git@github.com:odoo/enterprise.git
$ git clone https://github.com/odoo/odoo.git
$ git clone https://github.com/odoo/enterprise.git
$ git clone git@github.com:odoo/odoo.git
$ git clone git@github.com:odoo/enterprise.git
注解
企业版 Git 仓库不包含完整的 Odoo 源代码。它仅包含一些额外的插件。主服务器代码位于社区版中。运行企业版意味着从社区版启动服务器,并将 addons-path
参数设置为指向企业版的文件夹。为了获得一个正常工作的 Odoo 企业版安装,需要克隆社区版和企业版两个仓库。
准备中¶
Python¶
Odoo 需要 Python 3.10 或更高版本才能运行。
在 17 版更改: Python 3.7 的最低要求已更新为 Python 3.10。
如果需要,请使用包管理器下载并安装 Python 3。
下载 Python 3 的最新版本 并进行安装。
安装过程中,勾选 将 Python 3 添加到 PATH,然后点击 自定义安装,确保 pip 被勾选。
注解
如果已安装 Python 3,请确保版本为 3.10 或更高,因为旧版本与 Odoo 不兼容。
$ python3 --version
C:\> python --version
$ python3 --version
确认此版本的 pip 也已安装。
$ pip3 --version
C:\> pip --version
$ pip3 --version
PostgreSQL¶
Odoo 使用 PostgreSQL 作为其数据库管理系统。
使用包管理器下载并安装 PostgreSQL(支持的版本:12.0 或更高版本)。可以通过执行以下操作来实现:
$ sudo apt install postgresql postgresql-client
`下载 PostgreSQL <https://www.postgresql.org/download/windows>`_(支持的版本:12.0 或更高)并进行安装。
使用 Postgres.app 下载并安装 PostgreSQL(支持版本:12.0 或更高)。
小技巧
要使 Postgres.app 随附的命令行工具可用,请按照 Postgres.app 命令行工具说明 中的步骤设置 $PATH
变量。
默认情况下,唯一用户是 postgres
。由于 Odoo 禁止以 postgres
身份连接,请创建一个新的 PostgreSQL 用户。
$ sudo -u postgres createuser -d -R -S $USER
$ createdb $USER
注解
由于 PostgreSQL 用户名与 Unix 登录名相同,因此可以无需密码连接到数据库。
将 PostgreSQL 的
bin
目录(默认为:C:\Program Files\PostgreSQL\<version>\bin
)添加到PATH
中。使用 pgAdmin 图形界面创建一个带有密码的 PostgreSQL 用户:
打开 pgAdmin。
双击服务器以创建连接。
选择
。在 角色名称 字段中输入用户名(例如,
odoo
)。打开 定义 选项卡,输入密码(例如:
odoo
),然后点击 保存。打开 权限 选项卡,将 可以登录? 设置为
是
,将 创建数据库? 设置为是
。
$ sudo -u postgres createuser -d -R -S $USER
$ createdb $USER
注解
由于 PostgreSQL 用户名与 Unix 登录名相同,因此可以无需密码连接到数据库。
依赖项¶
使用 分发包 是安装依赖项的首选方式。或者,也可以使用 pip 安装 Python 依赖项。
在 Debian/Ubuntu 系统上,以下命令将安装所需的软件包:
$ cd odoo #CommunityPath
$ sudo ./setup/debinstall.sh
setup/debinstall.sh
脚本将解析 debian/control 文件并安装找到的软件包。
警告
使用 pip 可能会导致安全问题和依赖关系损坏;只有在您清楚自己在做什么的情况下才这样做。
由于某些 Python 包需要编译步骤,因此需要安装系统库。
在 Debian/Ubuntu 系统上,以下命令应安装这些所需的库:
$ sudo apt install python3-pip libldap2-dev libpq-dev libsasl2-dev
Odoo 的依赖项列在位于 Odoo 社区目录根目录下的 requirements.txt
文件中。
注解
requirements.txt
中的 Python 包是根据 Odoo 发布时对应的稳定版/LTS Debian/Ubuntu 版本确定的。例如,对于 Odoo 15.0,Debian Bullseye 中的 python3-babel
包版本为 2.8.0,而 Ubuntu Focal 中的版本为 2.6.0。然后在 requirements.txt
中选择最低版本。
小技巧
在不同 Odoo 实例或与系统之间,不建议混合使用 Python 模块包。不过,可以使用 virtualenv 来创建隔离的 Python 环境。
导航到 Odoo 社区版安装路径 (CommunityPath
),并在该路径下运行 pip 命令,以安装当前用户的依赖项。
$ cd /CommunityPath
$ pip install -r requirements.txt
在安装依赖项之前,请下载并安装 Visual Studio 的构建工具。在 工作负载 选项卡中选择 C++ 构建工具,并在提示时进行安装。
Odoo 的依赖项列在位于 Odoo 社区目录根目录下的 requirements.txt
文件中。
小技巧
在不同 Odoo 实例或与系统之间,不建议混合使用 Python 模块包。不过,可以使用 virtualenv 来创建隔离的 Python 环境。
导航到 Odoo 社区版安装路径(CommunityPath
),并在具有管理员权限的终端中运行 pip 安装需求文件:
C:\> cd \CommunityPath
C:\> pip install setuptools wheel
C:\> pip install -r requirements.txt
Odoo 的依赖项列在位于 Odoo 社区目录根目录下的 requirements.txt
文件中。
小技巧
在不同 Odoo 实例或与系统之间,不建议混合使用 Python 模块包。不过,可以使用 virtualenv 来创建隔离的 Python 环境。
导航到 Odoo 社区版安装路径(CommunityPath
),并在该路径下运行 pip 安装依赖文件:
$ cd /CommunityPath
$ pip3 install setuptools wheel
$ pip3 install -r requirements.txt
注解
对于使用 从右到左界面 的语言(如阿拉伯语或希伯来语),需要 rtlcss
包。
警告
wkhtmltopdf
不是通过 pip 安装的,必须手动安装 0.12.6 版本 才能支持页眉和页脚。有关不同版本的更多信息,请查看 wkhtmltopdf 维基。
运行 Odoo¶
一旦所有依赖项设置完成,可以通过运行 odoo-bin
启动 Odoo,这是服务器的命令行界面。它位于 Odoo 社区版目录的根目录下。
小技巧
对于企业版,将 enterprise
插件的路径添加到 addons-path
参数中。请注意,它必须位于 addons-path
中其他路径之前,以确保插件能够正确加载。
常见的必要配置包括:
PostgreSQL 用户名和密码。
超出默认路径的自定义插件路径,用于加载自定义模块。
运行服务器的典型方式如下:
$ cd /CommunityPath
$ python3 odoo-bin --addons-path=addons -d mydb
其中 CommunityPath
是 Odoo 社区版安装路径,mydb
是 PostgreSQL 数据库的名称。
C:\> cd CommunityPath/
C:\> python odoo-bin -r dbuser -w dbpassword --addons-path=addons -d mydb
其中 CommunityPath
是 Odoo 社区版安装路径,dbuser
是 PostgreSQL 登录用户名,dbpassword
是 PostgreSQL 密码,mydb
是 PostgreSQL 数据库名称。
$ cd /CommunityPath
$ python3 odoo-bin --addons-path=addons -d mydb
其中 CommunityPath
是 Odoo 社区版安装路径,mydb
是 PostgreSQL 数据库的名称。
服务器启动后(INFO 日志 odoo.modules.loading: Modules loaded.
被打印),在网页浏览器中打开 http://localhost:8069,并使用基础管理员账户登录 Odoo 数据库:将 admin
作为邮箱,再次使用 admin
作为密码。