WIN10 linux子系統(tǒng)(Windows subsystem for linux,簡稱WSL)下odoo開發(fā)調(diào)試環(huán)境搭建

前言

筆者是一個喜歡追求盡量少的工具實現(xiàn)盡可能多功能的開發(fā)者,在剛開始o(jì)doo開發(fā)的時候折騰過好幾套開發(fā)環(huán)境,如VSCode,Visual Studio,Pycharm等;最終選擇了WSL+Pycharm專業(yè)版這個完美的組合;其優(yōu)勢在于能同時保留Windows的易用性與Linux的開發(fā)友好度,在同時使用一些Windows平臺軟件辦公的同時也能在Linux環(huán)境下開發(fā)調(diào)試,達(dá)到媲美甚至超越mac系統(tǒng)的開發(fā)體驗

WSL簡介:Windows Subsystem for Linux(簡稱WSL)是一個為在Windows 10上能夠原生運行Linux二進制可執(zhí)行文件(ELF格式)的兼容層。它是由微軟與Canonical公司合作開發(fā),目標(biāo)是使純正的Ubuntu 14.04 "Trusty Tahr"映像能下載和解壓到用戶的本地計算機,并且映像內(nèi)的工具和實用工具能在此子系統(tǒng)上原生運行。

方案優(yōu)點

  1. 速度:linux下python運行速度優(yōu)于Windows
  2. 性能:相比虛擬機,WSL與主機共享硬件資源,幾乎沒有性能損耗
  3. 方便:因為文件系統(tǒng)共享,在Win下的IDE或者編輯器里面修改好文件之后,不需要拷貝到linux中,xml文件修改直接升級模塊,py文件修改直接在Pycharm中重啟odoo即可;節(jié)約同步文件的操作時間,也免去忘記同步造成文件不一致造成的調(diào)試不便。


    運行在WSL子系統(tǒng)中的pgsql與python

軟件環(huán)境

  • WIN10專業(yè)版
  • Pycharm專業(yè)版

建議都安裝最新版本

WSL安裝

安裝前的準(zhǔn)備

  1. 打開系統(tǒng)的設(shè)置應(yīng)用,進入設(shè)置>更新和安全>開發(fā)者選項,選擇開發(fā)人員模式

    image.png

  2. 打開控制面板的啟用或關(guān)閉Windows功能設(shè)置,勾選適用于Linux的Windows子系統(tǒng)

    image.png

安裝

WSL安裝程序內(nèi)置于WIN10的應(yīng)用商店中,需要在WIN10系統(tǒng)登錄Microsoft帳戶;
打開應(yīng)用商店搜索關(guān)鍵詞之一:bash wsl linux,即可搜索到已經(jīng)上架應(yīng)用商店的linux子系統(tǒng),選擇一個自己喜歡的進行安裝即可。

搜索結(jié)果

Ubuntu 18.04 LTS

安裝完畢之后開始菜單應(yīng)用列表會顯示出來剛剛安裝好的Linux子系統(tǒng)
image.png

環(huán)境配置

首次進入子系統(tǒng)會顯示如圖的提示信息


image.png

系統(tǒng)初始化完成之后提示輸入用戶信息


image.png

按照提示設(shè)置用戶名與密碼即可進入系統(tǒng)
image.png

更新apt源

進入系統(tǒng)后建議第一個要做的事情就是修改apt與pip源,這樣在后面安裝軟件的時候會節(jié)約很多下載時間
輸入命令
sudo vi /etc/apt/source.list
清除現(xiàn)有文本并粘貼以下配置信息然后保存配置

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源,也可以使用其它國內(nèi)源

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

sudo apt install python3-pip
創(chuàng)建配置文件

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

寫入以下內(nèi)容

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

此處使用豆瓣pip源,也可自行換成其它國內(nèi)源

SSH安裝及端口修改

ubuntu18已經(jīng)自帶ssh server,不需要另外安裝
不過由于打開開發(fā)人員選項之后,WIN10也會安裝ssh并占用22端口,為了避免沖突,將ubuntu的ssh端口修改為其它端口

sudo vi /etc/ssh/sshd_config

將Port參數(shù)值修改為2222
并將PasswordAuthentication改為yes

image.png

然后打開Windows的控制臺窗口,輸入ssh linux用戶名@localhost -p2222
出現(xiàn)提示授權(quán)及輸入密碼即代表設(shè)置成功
image.png

Postgresql數(shù)據(jù)庫安裝與配置

這一部分參考其它odoo安裝與部署的文章即可,此處不再贅述。

Pycharm遠(yuǎn)程調(diào)試配置

映射odoo目錄

Linux子系統(tǒng)與WIN10共享文件系統(tǒng),WIN10的文件可在子系統(tǒng)的/mnt目錄下訪問,可通過la /mnt查看一下目錄結(jié)構(gòu)

  1. 在WIN10任意目錄準(zhǔn)備好Odoo代碼,如D:\develop\odoo12\community

    image.png

  2. 進入linux用戶目錄創(chuàng)建軟鏈接

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

此時可直接在odoo12目錄下使用odoo目錄內(nèi)的文件


image.png

嘗試運行odoo python3 odoo-bin

image.png

可以看到odoo已經(jīng)能夠在linux環(huán)境下運行起來,下一步安裝依賴的python庫之后即可正常運行

安裝odoo依賴的python庫

這一部分參考其它odoo安裝文檔即可

配置遠(yuǎn)程python環(huán)境

打開Pycharm的設(shè)置:File>Settings>Project: project name>Project Interpreter

image.png

打開Add Python Interpreter窗口
image.png

在左側(cè)選擇SSH Interpreter
image.png

此處能看到在最新的Pycharm版本中官方已經(jīng)支持WSL環(huán)境了,不過測試下來在這個配置下開啟了odoo的多線程之后關(guān)閉odoo進程可能會有進程清除不干凈的情況,所以暫時還使用SSH Interpreter

輸入用戶名密碼后繼續(xù)下一步直到打開下圖窗口
在Interpreter設(shè)置中選擇到linux子系統(tǒng)的Python3安裝目錄/usr/bin/python3.6

image.png

在下方的Running code on the remote server下的映射目錄中設(shè)置Remote Path為子系統(tǒng)下上文創(chuàng)建好的軟鏈接代碼目錄中
并取消勾選Automatically upload project files to the server選項(因為子系統(tǒng)與Windows共用文件,所以不需要自動同步到inux中)


image.png

設(shè)置完畢后點擊Finish等待設(shè)置更新完畢


image.png

調(diào)試配置

點擊右上角啟動選項下的Edit Configurations打開啟動配置設(shè)置

image.png

在設(shè)置窗口中作如下設(shè)置并保存

  1. 填寫合適的啟動選項名稱
  2. 在Script Path中選擇odoo-bin啟動文件
  3. 在Parameters中設(shè)置odoo的啟動參數(shù),通常為-c 配置文件路徑
    4。 在Python Interpreter選項中選擇剛剛配置好的Python環(huán)境


    image.png

    點擊右上角的運行或調(diào)試圖標(biāo),控制臺出現(xiàn)如圖所示提示即代表設(shè)置成功


    運行成功

大功告成?。。?/p>

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容