- 上传者: Administrator
- 上传时间:2023年09月13日 03时22分59秒
根据预期的使用情况,有多种安装Odoo的方法。对于Odoo社区的开发人员和Odoo员工来说,首选的方法是执行源代码安装( 从源代码运行Odoo )。 准备环境 None [1] ** 首先,按照 环境设置 [2] 部分的贡献指南来准备您的环境。 重要 以下步骤仅适用于Odoo员工。提到的存储库对 ......
按照与
odoo/odoo
和odoo/enterprise
存储库相同的过程,访问 github.com/odoo/technical-training-sandbox,然后点击 Fork 按钮,在您的账户下创建一个存储库的分支。使用以下命令在您的机器上克隆存储库:
$ git clone git@github.com:odoo/technical-training-sandbox.git
配置仓库以将更改推送到您的分支:
$ cd technical-training-sandbox/ $ git remote add dev git@github.com:<your_github_account>/technical-training-sandbox.git $ git remote set-url --push origin you_should_not_push_on_this_repository
- -d<database>
将要使用的数据库。
- --addons-path<directories>
存储模块的目录列表,用逗号分隔。这些目录将被扫描以查找模块。
- --limit-time-cpu<limit>
限制每个请求的工作进程使用不超过<limit> CPU秒。
- --limit-time-real<limit>
防止工作进程在处理请求时超过<limit>秒。
The
--limit-time-cpu
and--limit-time-real
arguments can be used to prevent the worker from being killed when debugging the source code.- 您可能会遇到类似的错误
AttributeError: module '<MODULE_NAME>' has no attribute '<$ATTRIBUTE'>
。在这种情况下,您可能需要使用 $ pip install --upgrade --force-reinstall <MODULE_NAME> 重新安装模块。如果此错误发生在多个模块上,您可能需要使用 $ pip install --upgrade --force-reinstall -r requirements.txt 重新安装所有的要求。您也可以清除Python缓存来解决此问题:$ cd $HOME/.local/lib/python3.8/site-packages/ $ find -name '*.pyc' -type f -delete
其他常用的参数包括:
email:
admin
密码:
admin
- 切换分支:当您切换分支时,两个仓库(odoo 和 enterprise)必须同步,即两者都需要在同一个分支中。
$ cd $HOME/src/odoo $ git switch 16.0 $ cd $HOME/src/enterprise $ git switch 16.0
获取并变基:
$ cd $HOME/src/odoo $ git fetch --all --prune $ git rebase --autostash odoo/16.0 $ cd $HOME/src/enterprise $ git fetch --all --prune $ git rebase --autostash enterprise/16.0
E501
: line too longE301
: expected 1 blank line, found 0E302
: expected 2 blank lines, found 1主机名/地址:
/var/run/postgresql
端口:
5432
用户名:
$USER
安装库:
pip install ipdb
放置触发器(断点):
import ipdb; ipdb.set_trace()
Example
def copy(self, default=None): import ipdb; ipdb.set_trace() self.ensure_one() chosen_name = default.get('name') if default else '' new_name = chosen_name or _('%s (copy)') % self.name default = dict(default or {}, name=new_name) return super(Partner, self).copy(default)
- h(elp)[command]
如果没有提供参数,则打印可用命令的列表。如果提供了命令作为参数,则打印有关该命令的帮助信息。
- ppexpression
使用
pprint
模块对expression
的值进行漂亮的打印。- w(here)
打印堆栈跟踪,最近的帧在底部。
- d(own)
将当前帧在堆栈跟踪中向下移动一级(到一个较新的帧)。
- u(p)
将当前帧在堆栈跟踪中向上移动一级(到旧帧)。
- n(ext)
继续执行,直到当前函数中的下一行被执行或函数返回。
- c(ontinue)
继续执行,只有在遇到断点时才停止。
- s(tep)
执行当前行。在可能的第一个机会停止(在被调用的函数中或在当前函数的下一行)。
- q(uit)
退出调试器。正在执行的程序被中止。
根据预期的使用情况,有多种安装Odoo的方法。对于Odoo社区的开发人员和Odoo员工来说,首选的方法是执行源代码安装(从源代码运行Odoo)。
准备环境
首先,按照 环境设置 部分的贡献指南来准备您的环境。
重要
以下步骤仅适用于Odoo员工。提到的存储库对第三方不可访问。
到目前为止,您应该已经将源代码下载到两个本地存储库中,一个是 odoo/odoo
,另一个是 odoo/enterprise
。这些存储库已设置为将更改推送到预定义的共享分支上的 GitHub。当您开始为代码库做出贡献时,这将非常方便,但是在本教程的范围内,我们希望避免将培训材料污染到共享存储库中。因此,让我们在第三个存储库 technical-training-sandbox
中开发您自己的模块。与前两个存储库一样,它将成为引用包含所有 Odoo 模块的目录的 addons-path
的一部分。
就是这样!您的环境现在已经准备好从源代码运行Odoo,并且您已经成功创建了一个用作插件目录的存储库。这将允许您将您的工作推送到GitHub。
现在,在 technical-training-sandbox
仓库中进行一些小的更改,比如更新 README.md
文件。然后,按照贡献指南中的 进行你的第一次贡献 部分的说明,将您的更改推送到 GitHub 并创建一个 PR。这将使您能够分享您即将完成的工作并获得反馈。调整说明,使用分支 master
和仓库 technical-training-sandbox
。
为了确保持续的反馈循环,我们建议在达到新的里程碑时立即推送一个新的提交,例如完成教程的一个章节。
注解
您的文件系统上存储库的具体位置并不重要。但是,为了简单起见,我们假设您已经将所有存储库克隆到同一个目录下。如果不是这种情况,请确保相应地调整以下命令,提供从 odoo/odoo
存储库到 odoo/technical-training-sandbox
存储库的适当相对路径。
运行服务器
使用 odoo-bin
启动
一旦所有依赖项都设置好,可以通过运行 odoo-bin
来启动 Odoo,这是服务器的命令行界面。
$ cd $HOME/src/odoo/
$ ./odoo-bin --addons-path="addons/,../enterprise/,../technical-training-sandbox" -d rd-demo
有多个 命令行参数 可用于运行服务器。在本培训中,您只需要其中一些。
小技巧
登录Odoo
打开 http://localhost:8069/ 在你的浏览器上。我们推荐使用 Chrome <https://www.google.com/intl/en/chrome/>
_, Firefox <https://www.mozilla.org/firefox/new/>
_,或者任何其他带有开发工具的浏览器。
要登录管理员用户,请使用以下凭据:
启用开发者模式
开发者或调试模式对于培训非常有用,因为它提供了额外的(高级)工具。在接下来的章节中, 我们将始终假设您已启用开发者模式 。
Enable the developer mode now. Choose the method that you prefer; they are all equivalent.
注解
只有至少安装了一个应用程序,才能访问设置屏幕的主页面。在下一章节中,您将被引导安装自己的应用程序。
额外工具
有用的 Git 命令
以下是一些日常工作中有用的 Git 命令。
代码编辑器
如果你在Odoo工作,你的许多同事都在使用 VSCode <https://code.visualstudio.com>
_, VSCodium <https://vscodium.com>
_(开源的等效品), PyCharm <https://www.jetbrains.com/pycharm/download/#section=linux>
_,或者 Sublime Text <https://www.sublimetext.com>
_。然而,你可以自由选择你喜欢的编辑器。
配置您的 Linter 是非常重要的。使用 Linter 可以帮助您显示语法和语义警告或错误。Odoo 源代码尽力遵守 Python 和 JavaScript 的标准,但有些标准可以忽略。
对于Python,我们使用PEP8,忽略这些选项:
对于JavaScript,我们使用ESLint,你可以在这里找到一个 配置文件示例。
PostgreSQL的管理员工具
你可以使用命令行来管理你的PostgreSQL数据库,就像之前演示的那样,或者使用图形用户界面应用程序,比如 pgAdmin 或者 DBeaver。
我们建议您使用Unix套接字连接来连接GUI应用程序和数据库。
Python调试
当面对错误或者试图理解代码运行时,简单地打印输出可以解决很多问题,但是一个合适的调试器可以节省很多时间。
你可以使用经典的Python库调试器(pdb、pudb 或 ipdb),或者你可以使用你的编辑器的调试器。
在下面的例子中,我们使用ipdb,但使用其他库的过程类似。
这是一份命令列表:
现在您的服务器已经运行起来了,是时候开始 编写您自己的应用程序!
- 微信扫一扫,一分也是爱:
-
服务原则及地区范围
宜兴通达网络科技有限公司,地处中国宜兴环科园内,是一家高新技术企业。公司在企业网络维护和企业信息化建设与咨询方面,有10多年经验。
我公司愿与客户一道,力求彻底解决客户问题!
我们不是在给企业提供“头痛医头、脚痛医脚”的暂时解决方案,而是在部署根本性安全与稳定服务!!
我们愿携手客户,建立企业IT规划;杜绝随意安装系统、软件等操作;力求共同维护有序、安全、稳定的网络办公环境!!!
IT服务,服务是根本,客户是上帝;我们提供快速响应、快速上门、快速排查,提供优质高效的服务!!!!
通达科技提供全国范围内的服务,服务形式包括远程协助、电话咨询、电子邮件咨询、传真咨询、问答平台的问题解决等。
宜兴地区提供上门服务:
- 市区服务:宜城街道、城北街道(屺亭街道)、新街街道、新庄街道、环科园、渚桥开发区
- 市郊服务:张渚镇、西渚镇、太华镇、徐舍镇、官林镇、杨巷镇、新建镇、和桥镇、高塍镇、万石镇、周铁镇、芳桥镇、丁蜀镇、湖父镇。