WIN10 linux子系统(Windows subsystem for linux,简称WSL)下odoo开发调试环境搭建

前言

笔者是一个喜欢追求尽量少的工具实现尽可能多功能的开发者,在刚开始odoo开发的时候折腾过好几套开发环境,如VSCode,Visual Studio,Pycharm等;最终选择了WSL+Pycharm专业版这个完美的组合;其优势在于能同时保留Windows的易用性与Linux的开发友好度,在同时使用一些Windows平台软件办公的同时也能在Linux环境下开发调试,达到媲美甚至超越mac系统的开发体验

WSL简介:Windows Subsystem for Linux(简称WSL)是一个为在Windows 10上能够原生运行Linux二进制可执行文件(ELF格式)的兼容层。它是由微软与Canonical公司合作开发,目标是使纯正的Ubuntu 14.04 "Trusty Tahr"映像能下载和解压到用户的本地计算机,并且映像内的工具和实用工具能在此子系统上原生运行。

方案优点

  1. 速度:linux下python运行速度优于Windows
  2. 性能:相比虚拟机,WSL与主机共享硬件资源,几乎没有性能损耗
  3. 方便:因为文件系统共享,在Win下的IDE或者编辑器里面修改好文件之后,不需要拷贝到linux中,xml文件修改直接升级模块,py文件修改直接在Pycharm中重启odoo即可;节约同步文件的操作时间,也免去忘记同步造成文件不一致造成的调试不便。


    10442883-09406ea41969ad23.png
    运行在WSL子系统中的pgsql与python

软件环境

  • WIN10专业版
  • Pycharm专业版

建议都安装最新版本

WSL安装

安装前的准备

  1. 打开系统的设置应用,进入设置>更新和安全>开发者选项,选择开发人员模式

    10442883-6805b305090cadef.png
    image.png

  2. 打开控制面板的启用或关闭Windows功能设置,勾选适用于Linux的Windows子系统

    10442883-b9da9b90e9860cd2.png
    image.png

安装

WSL安装程序内置于WIN10的应用商店中,需要在WIN10系统登录Microsoft帐户;
打开应用商店搜索关键词之一:bash wsl linux,即可搜索到已经上架应用商店的linux子系统,选择一个自己喜欢的进行安装即可。

10442883-a4845001daa893da.png
搜索结果

10442883-9c1f7974c4bd1132.png
Ubuntu 18.04 LTS

安装完毕之后开始菜单应用列表会显示出来刚刚安装好的Linux子系统
10442883-0bd0a0d62694e660.png
image.png

环境配置

首次进入子系统会显示如图的提示信息


10442883-3d41c419d7fcfe74.png
image.png

系统初始化完成之后提示输入用户信息


10442883-1362b9f2138e7541.png
image.png

按照提示设置用户名与密码即可进入系统
10442883-e4675e332b722f7d.png
image.png

更新apt源

进入系统后建议第一个要做的事情就是修改apt与pip源,这样在后面安装软件的时候会节约很多下载时间
输入命令
sudo vi /etc/apt/source.list
清除现有文本并粘贴以下配置信息然后保存配置

deb http://mirrors.aliyun.com/ubuntu/ xenial main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ xenial-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ xenial main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-proposed main restricted universe multiverse
deb http://cn.archive.ubuntu.com/ubuntu bionic main multiverse restricted universe
deb http://cn.archive.ubuntu.com/ubuntu bionic-updates main multiverse restricted universe
deb http://cn.archive.ubuntu.com/ubuntu bionic-security main multiverse restricted universe
deb http://cn.archive.ubuntu.com/ubuntu bionic-proposed main multiverse restricted universe

运行sudo apt update更新配置

注:此处使用的是阿里云的apt源,也可以使用其它国内源

安装pip包管理工具并配置更新源

sudo apt install python3-pip
创建配置文件

cd ~
mkdir .pip
vi .pip/pip.conf

写入以下内容

[global]
index-url = https://pypi.douban.com/simple
trust-host = pypi.doban.com

此处使用豆瓣pip源,也可自行换成其它国内源

SSH安装及端口修改

ubuntu18已经自带ssh server,不需要另外安装
不过由于打开开发人员选项之后,WIN10也会安装ssh并占用22端口,为了避免冲突,将ubuntu的ssh端口修改为其它端口

sudo vi /etc/ssh/sshd_config

将Port参数值修改为2222
并将PasswordAuthentication改为yes

10442883-2f1e74f6c3ad934a.png
image.png

然后打开Windows的控制台窗口,输入 ssh linux用户名@localhost -p2222
出现提示授权及输入密码即代表设置成功
10442883-14618dd8c0b80729.png
image.png

Postgresql数据库安装与配置

这一部分参考其它odoo安装与部署的文章即可,此处不再赘述。

Pycharm远程调试配置

映射odoo目录

Linux子系统与WIN10共享文件系统,WIN10的文件可在子系统的/mnt目录下访问,可通过la /mnt查看一下目录结构

  1. 在WIN10任意目录准备好Odoo代码,如D:\develop\odoo12\community

    10442883-897735905a36c00f.png
    image.png

  2. 进入linux用户目录创建软链接

cd ~
ln -s /mnt/d/develop/odoo12/community/ odoo12

此时可直接在odoo12目录下使用odoo目录内的文件


10442883-56f57fcc2c120951.png
image.png

尝试运行odoo python3 odoo-bin

10442883-f7bc50ac0bc7ab13.png
image.png

可以看到odoo已经能够在linux环境下运行起来,下一步安装依赖的python库之后即可正常运行

安装odoo依赖的python库

这一部分参考其它odoo安装文档即可

配置远程python环境

打开Pycharm的设置:File>Settings>Project: project name>Project Interpreter

10442883-ff8e1c90135f1e13.png
image.png

打开Add Python Interpreter窗口
10442883-784cbd4885491c32.png
image.png

在左侧选择 SSH Interpreter
10442883-9d78871a289943ca.png
image.png

此处能看到在最新的Pycharm版本中官方已经支持WSL环境了,不过测试下来在这个配置下开启了odoo的多线程之后关闭odoo进程可能会有进程清除不干净的情况,所以暂时还使用SSH Interpreter

输入用户名密码后继续下一步直到打开下图窗口
在Interpreter设置中选择到linux子系统的Python3安装目录/usr/bin/python3.6

10442883-cfd377228c03206b.png
image.png

在下方的Running code on the remote server下的映射目录中设置Remote Path为子系统下上文创建好的软链接代码目录中
并取消勾选Automatically upload project files to the server选项(因为子系统与Windows共用文件,所以不需要自动同步到inux中)


10442883-13a8212153395f78.png
image.png

设置完毕后点击Finish等待设置更新完毕


10442883-2ce3f835bf78c32e.png
image.png

调试配置

点击右上角启动选项下的Edit Configurations打开启动配置设置

10442883-d96fe27d6367671b.png
image.png

在设置窗口中作如下设置并保存

  1. 填写合适的启动选项名称
  2. 在Script Path中选择odoo-bin启动文件
  3. 在Parameters中设置odoo的启动参数,通常为-c 配置文件路径
    4。 在Python Interpreter选项中选择刚刚配置好的Python环境


    10442883-67927b30e786a4ad.png
    image.png

    点击右上角的运行或调试图标,控制台出现如图所示提示即代表设置成功


    10442883-460a01b1be38fa2a.png
    运行成功

大功告成!!!

猜你喜欢

转载自blog.csdn.net/weixin_33851604/article/details/90866964
今日推荐