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)試,達到媲美甚至超越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è)置成功


    運行成功

大功告成!J勒帷端逼!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市污淋,隨后出現(xiàn)的幾起案子顶滩,更是在濱河造成了極大的恐慌,老刑警劉巖寸爆,帶你破解...
    沈念sama閱讀 206,968評論 6 482
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件礁鲁,死亡現(xiàn)場離奇詭異,居然都是意外死亡赁豆,警方通過查閱死者的電腦和手機仅醇,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,601評論 2 382
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來魔种,“玉大人析二,你說我怎么就攤上這事〗谠ぃ” “怎么了叶摄?”我有些...
    開封第一講書人閱讀 153,220評論 0 344
  • 文/不壞的土叔 我叫張陵漆改,是天一觀的道長。 經(jīng)常有香客問我准谚,道長挫剑,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,416評論 1 279
  • 正文 為了忘掉前任柱衔,我火速辦了婚禮樊破,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘唆铐。我一直安慰自己哲戚,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 64,425評論 5 374
  • 文/花漫 我一把揭開白布艾岂。 她就那樣靜靜地躺著顺少,像睡著了一般。 火紅的嫁衣襯著肌膚如雪王浴。 梳的紋絲不亂的頭發(fā)上脆炎,一...
    開封第一講書人閱讀 49,144評論 1 285
  • 那天,我揣著相機與錄音氓辣,去河邊找鬼秒裕。 笑死,一個胖子當(dāng)著我的面吹牛钞啸,可吹牛的內(nèi)容都是我干的几蜻。 我是一名探鬼主播,決...
    沈念sama閱讀 38,432評論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼体斩,長吁一口氣:“原來是場噩夢啊……” “哼梭稚!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起絮吵,我...
    開封第一講書人閱讀 37,088評論 0 261
  • 序言:老撾萬榮一對情侶失蹤弧烤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后源武,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體扼褪,經(jīng)...
    沈念sama閱讀 43,586評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,028評論 2 325
  • 正文 我和宋清朗相戀三年粱栖,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片脏毯。...
    茶點故事閱讀 38,137評論 1 334
  • 序言:一個原本活蹦亂跳的男人離奇死亡闹究,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出食店,到底是詐尸還是另有隱情渣淤,我是刑警寧澤赏寇,帶...
    沈念sama閱讀 33,783評論 4 324
  • 正文 年R本政府宣布,位于F島的核電站价认,受9級特大地震影響嗅定,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜用踩,卻給世界環(huán)境...
    茶點故事閱讀 39,343評論 3 307
  • 文/蒙蒙 一渠退、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧脐彩,春花似錦碎乃、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,333評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至佛南,卻和暖如春梗掰,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背嗅回。 一陣腳步聲響...
    開封第一講書人閱讀 31,559評論 1 262
  • 我被黑心中介騙來泰國打工愧怜, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人妈拌。 一個月前我還...
    沈念sama閱讀 45,595評論 2 355
  • 正文 我出身青樓拥坛,卻偏偏與公主長得像,于是被迫代替她去往敵國和親尘分。 傳聞我的和親對象是個殘疾皇子猜惋,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 42,901評論 2 345