Docker Image + PyCharm + Odoo14 + Postgres12 + 搭建本地开发调试环境
零、配置环境
- PyCharm2020.1
- Docker Desktop For Mac3.5.2
一、准备源码镜像
先拉取postgres和odoo两个镜像
docker pull postgres:12
docker pull odoo:14
二、新建本地开发项目文件夹
在你的工作区创建本地仓库文件夹,例如:demo_addons。在此文件夹下,放置一个自己的模块,以便后面验证挂载是否成功。
demo_addons/
└─your_module/
三、在PyCharm中配置Docker
- 【STEP1】 PyCharm打开本地开发项目文件夹 demo_addons
- 【STEP2】 配置DockerServer
依次打开【Settings】-【Build,Execution,Deployment】-【Docker】如以下窗口,并进行以下配置:
注意:Windows下这里会有Docker for Windows选项,Mac下会有Docker for Mac选项,这俩个选项是针对电脑上安装了Docker的情况使用。另外,不同版本的PyCharm布局会有些许不同,另外有些版本没有上述选项,可以考虑配置TCP socket,这样做的前提是将Docker的运行端口开放出来。
如上,创建了一个Docker Server,实际上,他类似给PostgreSQL数据库服务,使用了一个可视化管理工具,例如:PGAdmin、Navicate等。这个Docker Sever将在PyCharm中,以可视化形式展示Docker的容器和镜像的情况。当然,他的作用不止于此。
- 【STEP3】 配置数据库启动配置
点击【Add Configurations】-【Docker】,创建如下所示配置文件 - 【STEP4】 配置Odoo启动配置
注意:这里的本地开发目录即当前项目文件夹 demo_addons
- 【STEP5】 测试,以下步骤出现问题,根据日志提示调整,但一般不会出现问题。
- 左上角,先运行数据库配置文件,将数据库服务跑起来
- 左上角,再运行Odoo配置文件,启动Odoo服务
- 访问浏览器 http://localhost:18069,创建数据库
- 进入Odoo,在应用中查找第二步中,放进去的模块是否存在,若存在,开发目录挂载成功。
注意:数据库服务启动后,一般不会再重启。Odoo服务在开发过程中,可能需要频繁重启。
为什么这么做
为什么这么做?使用Docker移植性相对较强,也方便管理。习惯于PyCharm开发的伙伴也可以享受Docker带来的便捷。另外本地将不再有Odoo各版本源码,也不再有Python各版本环境。干干净净,心情舒畅。
PyCharm提供的一些可视化
其他:
配置Python远程调试环境
Odoo的镜像已经做好了Python环境,在运行的容器中,可以发现两个Python的环境:一个是镜像系统默认的Python2环境,一个是支持Odoo运行的Python3环境(已经安装好了Odoo所需要的依赖)。可以到容器中查看:
docker exec -it odoo_14 bash # 进入容器
odoo@c4069dc91f89:/$ python -V
Python 2.7.16
odoo@c4069dc91f89:/$ python3 -V
Python 3.7.3
点击右下角【Python interpreter】-【Add interpreter】,开以下窗口,并进行以下配置:
等待远程Python环境获取完成。
注意:这样做,会将odoo14中的环境拉取到本地,会占用本地空间。如果你在意这一点,可以不进行这一步。在需要添加以来的时候,进入odoo容器内,执行安装包操作即可。