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提供的一些可视化

pycharm配置docker运行环境后如何使用 pycharm docker 调试_Python

其他:

配置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】,开以下窗口,并进行以下配置:

pycharm配置docker运行环境后如何使用 pycharm docker 调试_docker_02

等待远程Python环境获取完成。

注意:这样做,会将odoo14中的环境拉取到本地,会占用本地空间。如果你在意这一点,可以不进行这一步。在需要添加以来的时候,进入odoo容器内,执行安装包操作即可。