源代码安装¶
源代码安装不是关于安装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 并安装。
在安装过程中,勾选 Add Python 3 to PATH,然后点击 Customize Installation 并确保 pip 已被勾选。
注解
如果已经安装了Python 3,请确保版本为3.7或更高版本,因为以前的版本与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 (支持的版本:12.0 或更高) 并安装。
使用 Postgres.app 下载并安装 PostgreSQL (支持的版本:12.0 或更高)。
小技巧
为了使与 Postgres.app 捆绑的命令行工具可用,请确保按照 Postgres.app CLI 工具说明 设置 $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
。使用pg admin gui创建带密码的postgres用户:
打开 pgAdmin.
双击服务器以创建连接。
选择
。在 角色名称 字段中输入用户名(例如,
odoo
)。打开 Definition 选项卡,输入密码(例如,
odoo
),然后点击 Save 。打开 权限 选项卡,将 可以登录? 切换为
是
,将 创建数据库? 切换为是
。
$ 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, python3-babel
包的版本在 Debian Bullseye 中为 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 的构建工具。在 Workloads 选项卡中选择 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 wiki 以获取有关各个版本的更多详细信息。
运行 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.
打印出来),在 Web 浏览器中打开 http://localhost:8069 并使用基本管理员账户登录 Odoo 数据库:将 admin
作为邮箱,再次将 admin
作为密码。