经过一个月的高强度开发,我们已完成了自有模块的最新升级至Odoo19,也完成了公司管理Odoo的升级,以及若干客户的Odoo19升级。小结下,Odoo19已基本完善,通过odoo官方的升级可以很方便的将企业版Odoo快速升级至最新19。对于社区版用户,使用OCA和我们补全的升级脚本,完全可以安全的升级至最新Odoo19,享受更快更全更Ai的功能。
下方将简述一下升级至Odoo19的基础化配置。相关配置已内置于我们 Odoo绿色版免费下载 中,下文可以让你 3分钟 快速获取升级关键。
一、如何配置 VSCode 开发升级 Odoo模块
因为更强的Ai功能及更轻的资源要求,建议将开发平台从Pycharm等转至VSCode,或者Opencode和字节的TRAE。
以VSCode为例,其它基本类似。配置 Odoo 开发环境,首先需要进行一些基本设置,包括配置 Python 路径、Odoo 启动服务以及代码自动补全。主要文件为 launch.json
1.1,配置 Python 路径
- 打开 VSCode,点击vscode 运行–打开配置(或添加配置),如果没有Python选项,则按 Ctrl + Shift + P 打开命令面板,输入 Python: Select Interpreter 并选择你的 Python 解释器路径。由于我们有Odoo10~Odoo19多个版本要维护管理,各自使用各自的环境,故一般直接输入已配置好的Python路径。
- 在这里,我们选用我们绿色版Odoo19的Python3.12解释器,位于 D:\odoo19-x64\runtime\python3\python3.exe ,直接输入或者浏览即可。可以在本站最下方,找到Odoo全版本的下载链接,每个版本都会有适配的Python运行环境。
- 当然,你也可以直接使用 vs 的Python插件。如果未安装,请在扩展市场中搜索并安装。

- 如果你也和我们一样,管理多个版本Odoo,那么最好配置好默认的Python环境,比如我们当前在odoo19开发,但主客户版本仍是 Odoo18,那么请在设置中设置好默认Python解释器。
- 在VSCode中,点击左侧菜单栏的“文件”菜单,选择“首选项”下的“设置”。
- 在设置面板中,使用搜索框输入“Python: Default Interpreter Path”以找到相关选项
- 输入主版本配置,如 D:\odoo18-x64\runtime\python3\python3.exe

1.2,配置 Odoo 启动服务
- 下文中,均基于我们基础的 Odoo19-x64 绿色版
- 在 VSCode 中创建一个新的调试配置文件 .vscode/launch.json,并添加以下内容,配置名“o19-8019-a91”,代表Odoo19,运行在8019端口,实例名为 a91。主要是因为我们即使是Odoo19,也会经常同时跑多个项目,主要的Odoo启动配置在 8019_all.conf 中
- 以下为 launch.json ,适用于 1个实例,可根据自已的情况配置多个实例。
{
// 使用 IntelliSense 了解相关属性。
// 悬停以查看现有属性的描述。
// 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "o19-8019-a91",
"type": "debugpy",
"request": "launch",
"program": "D:\\odoo19-x64\\source\\odoo-bin",
"python":"D:\\odoo19-x64\\runtime\\python3\\python.exe",
"console": "integratedTerminal",
"args": [
"-c",
"8019_all.conf",
"-d",
"a91",
],
}
]
}
此配置将启动 Odoo 服务,如需自动更新指定的模块,则在 args中增加 "-u", "xxx要更新的模块" 。
1.3, 配置代码自动补全
- 按 Ctrl + Shift + P 打开命令面板,选择 Preferences: Open Settings (JSON)。
- 在打开的设置文件中添加以下内容,参考注释更改为自己的内容即可:
{
"editor.renderWhitespace": "all",
"git.autofetch": true,
"git.confirmSync": false,
//定义python的路径, 自己的python路径 eg: C:\\Program Files (x86)\\python\\python.exe
"python.defaultInterpreterPath": "D:\\odoo19-x64\\runtime\\python3\\python3.exe",
//添加python扩展
"python.autoComplete.extraPaths": [
"D:\\odoo19-x64\\runtime\\python3\\Lib\\site-packages",
],
// 配置格式化代码, 此处我用的 autopep8, vscode中还有其他格式化代码插件,可自行选择
"python.formatting.provider": "autopep8",
"python.linting.flake8Args": [
"--max-line-length=248",
"--extend-ignore=E231,E203,E117,E302,E225,E228,W291,E305,W191,W292,W391,F401",
],
"python.linting.enabled": false,
// 配置编写完成多少毫秒自动保存
"files.autoSave": "afterDelay",
"files.autoSaveDelay": 200,
// 隐藏指定文件夹及文件
"files.exclude": {
"**/.git": true,
"**/.svn": true,
"**/.hg": true,
"**/CVS": true,
"**/.DS_Store": true,
"**/Thumbs.db": true,
"**/*.pyc": true,
"**/_s": true,
"**/.idea": true,
"**/.vscode": true,
},
// 部署配置按项目情况处理
此配置将启用 Odoo 源码目录的自动补全,并设置代码格式化工具和自动保存功能。
1.4, 配置Claude Code或者阿里灵码
起步很简单,在vscode扩展商店中搜索 Claude 和 Tongyi ,安装即可。 这个和在我们 odooapp.cn 的欧度中文商店搜索应用安装来扩展你的Odoo一样简单。
Claude和阿里灵码的同时使用,要用科学上网加Clash来做路由分支,其它使用建议直接问你的灵码就可以了。不建议使用不合规的平台,花更多的投入才能有更多回报,商业对等永远是第一原则。
通过以上步骤,你可以在 VSCode 中高效地进行 Odoo 开发和调试了,记得要先完成所有模块升级至Odoo19。

二、如何配置多版本 Odoo 来升级至 Odoo19
由于大量的Odoo存量客户在使用旧版本,我们经常需要同时跑多个实例,使用Docker会方便些,但也十分笨重,同时不好跟踪管理。因此,我们是使用每个Odoo版本独立管理配置,使用Git来记录配置变化,以便处理和追溯各种复杂情况。以下简述下多版本Odoo进行升级的基础配置,配置均基于我们的绿色版Odoo。
主要核心如下:
- 操作系统层,hosts 文件处理不同域名指向不同版本Odoo
- 前端层,配置好关联的 nginx.conf , 使用 upstream 区分不同域名指向不同 Odoo服务
- Odoo层。各自隔离的Odoo配置,并行启动。
- Python环境层。各自隔离的虚拟环境runtime配置,确保配套Odoo19~Odoo10版本正常
- 数据库层。使用最新版本Odoo19支持的Postgresql 版本即可,可适用于Odoo各版本
2.1,操作系统 host 文件,不同域名代表不同版本Odoo
配置好windows的 host 文件,通过域名快速分辨和管理多个版本Odoo实例,如 http://localhost.a91 可访问第一个odoo19实例, http://localhost.a81 代表第一个odoo18实例。 故此 我们可以通过访问 localhost.a91, localhost.a92, localhost.a81 等快速访问不同版本不同实例。
C:\Windows\System32\drivers\etc\host
127.0.0.1 localhost.a61
127.0.0.1 localhost.a81
127.0.0.1 localhost.a91
127.0.0.1 localhost.19
2.2, 前端nginx.conf 配置, upstream 区分不同域名
Nginx作为Odoo前端,不管生产还是开发都是必不可少的,一方面处理多版本Odoo路由,同时也是Odoo主动推送和高效访问的核心。我们使用 upstream 来区分不同域名指向不同 Odoo服务,具体 nginx.conf 请参考本站 Odoo19手册。
以下对关键点简述下。
nginx.conf
http {
# 端口路由映射
include odoo_upstream.conf;
# 默认主 localhost,按映射处理
server {
listen 80 default;
proxy_cache off;
location /{
proxy_pass http://$oserver;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass_header Set-Cookie;
proxy_connect_timeout 600;
proxy_send_timeout 600;
proxy_read_timeout 3000;
}
location /websocket{
proxy_pass http://$lserver;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $connection_upgrade;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Real-IP $remote_addr;
proxy_pass_header Set-Cookie;
proxy_connect_timeout 60;
proxy_send_timeout 60;
proxy_read_timeout 3000;
}
}
}
odoo_upstream.conf
# 第一个实例19
upstream o19server1 {
server 127.0.0.1:8019;
}
upstream l19server1 {
server 127.0.0.1:8082;
}
# 第一个实例18
upstream o18server1 {
server 127.0.0.1:8018;
}
upstream l18server1 {
server 127.0.0.1:8072;
}
# 第二个实例18
upstream o18server2{
server 127.0.0.1:8028;
}
upstream l18server2{
server 127.0.0.1:8082;
}
# 根据变量(host 主机)选择 upstream
map $host $oserver {
default o19server1;
localhost.a91 o19server1;
localhost.a81 o18server1;
localhost.a82 o18server1;
}
map $host $lserver {
default l19server1;
localhost.a91 l19server1;
localhost.a81 l18server1;
localhost.a82 l18server1;
}
2.3, 配置Odoo.conf,通过不同端口启用不同版本
常规的odoo.conf配置项请参考 odoo手册,不同版本基本相同,如 Odoo19系统配置与安全 。由于要多版本并存,故我们一般会不同版本分配独立不同的端口号:
Odoo19: 8019
Odoo18: 8018
同时注意要启用 nginx 作为反向代理,比如 odoo19.conf 如下:
proxy_mode = True
http_port = 8019
xmlrpc_port = 8019
gevent_port = 8072
2.4, Python环境层
不同版本的Odoo,其Python环境是不同的,可以自行参考本端Odoo官方手册,虚拟化好不同的Python环境。
我们免费提供的 Odoo绿色版 均内置了全套对应的Python及关联的运营环境,如中文打印等,故可以直接使用。
2.5, 数据库层,使用最新PG
数据库使用一个PG即可,比如我们使用最新的Odoo19官方推荐版本 PG16。在升级过程中,我们全程使用 PostgreSQL 16,均正常运行。
如果您只是要运行Odoo,不做多版本升级,只需使用我们绿色版中内置的对应版本数据库即可。执行 .\db 即可启动数据库,或者执行 .\r 即可启动数据库及Odoo。
以上,便是Odoo升级至19最新版本的基础环境准备。
对于使用我们全套行业方案及模块的客户,我们已全面升级Odoo19,可以直接自助购买模块升级。
企业版客户使用官方升级升级服务+我司模块升级版,即可升级19。
社区版用户使用OCA加我司脚本,即可进行社区版的升级至Odoo19。


