天天看點

windows10下使用wsl子系統搭建sanic的環境(一篇解決所有問題)

sanic的uvloop不支援在windows運作,是以隻能在linux下搭建

win10的wsl(子系統)已經是正式版了。部署環境時,請按照我給的順序,這樣能讓你少出bug

  1. 我們首先打開windows的wsl(子系統),到系統“添加和删除程式”裡面勾選“*子系統*”這項,重新開機。
  2. 然後安裝Ubuntu,到windows store裡面搜尋Ubuntu16,安裝。不要安裝Ubuntu18,相容性不太好(如果已經删除了windows store的,百度辦法,能找回來)。    裝好後,直接點選Ubuntu16圖示,進入Ubuntu的控制台,過一會讓你輸兩次密碼,linux輸密碼是看不見的,你隻管輸完敲回車就行。這裡注意弄對,我在Ubuntu18下設定的預設進入root賬戶,而在16下不知怎麼回事,預設進入的是usr賬戶。usr賬戶在你後期調試的時候比較麻煩,每次都得手動su到root賬戶,因為有很多檔案的權限是root。         設定root的密碼,sudo passwd root 回車,輸密碼。     你可以看這篇文章來得到詳細的教程https://www.windows10.pro/bash-on-ubuntu-on-windows/
  3. 如果從usr想進入root,直接敲su回車,然後輸密碼就行了。進入Ubuntu有兩種方式,要麼直接點選Ubuntu圖示,要麼随便進一個windows的shell,敲bash。    linux下的/mnt/c目錄就是windows下的C:/目錄,這樣,我們可以吧項目還放到我們的windwos目錄C:/,
  4. Ubuntu 的安裝指令是apt install,我們首先要給apt更換源并跟新     設定官方國内鏡像源https://www.cnblogs.com/vincenshen/p/6275663.html         設定阿裡雲的源https://www.aliyun.com/jiaocheng/124352.html            設定清華大學的源https://www.linuxidc.com/Linux/2017-11/148627.htm
  5. 我們安裝aptitude,這是apt的加強版,後面我們全都使用aptitude來裝包,apt install aptitude,裝完同樣需要更新,aptitude的使用方法和apt一樣,aptitude install 或 aptitude update
  6. 然後下載下傳并安裝anaconda3的linux版(pyhon包管理軟體,同時能管理pyhon版本)https://blog.csdn.net/luojie140/article/details/78696330,看這篇文章,這個東東就像是pip的加強版,包之間的依賴關系都是自動的。裝好後建立python的版本環境并啟用。
  7. aptitude安裝pip :aptitude install python3-pip   ,裝完更新pip,
sudo python -m pip install –upgrade pip 
           
  1. conda install <包名>安裝你需要的各種包,比如非常難安裝的scrapy。以後能用conda安裝的都用conda,conda沒源的再用aptitude,最後再用pip,因為conda和aptitude的包依賴關系非常完善。但是pip的資源最多。
  2. 我們需要安裝的有ssh,open-ssh,async,uvloop,ujson等。
  3. 使用pip install 安裝sanic,如果命好,可能一次過,如果報錯,看缺什麼,單獨安裝什麼,前面隻要先布置了aptitude和anaconda,就保證了正确的依賴關系,後面再有什麼問題都好解決。
  4. 我們可以使用wsl-terminal來替代醜陋的cmd面闆,參考https://www.jianshu.com/p/df58be89b1fe,請提前apt install一個xterm-base包,并開啟終端的256色,參考https://blog.csdn.net/origin_lee/article/details/39141769
  5. 下來我們來配置vscode,http://www.360doc.com/content/17/0226/01/35874779_632048824.shtml
  6. 如果想讓vscode運作linux程式呢?比如sanic,我們需要配置vscode的終端為bash,而不是cmd,您先進入vscode的userset頁面,然後執行下面的操作。你可以在小娜裡面搜尋bash,找到你系統裡bash.exe的目錄,替換下面的目錄。

    現在将這行代碼複制到您自己的設定頁面(右側的窗格)并儲存 -

    "terminal.integrated.shell.windows": "C:\\Program Files\\Git\\bin\\bash.exe"

    注意:

    "C:\\Program Files\Git\bin\bash.exe"

     是

    git

    安裝bash.exe所在的路徑。

    現在按“ctrl +`”從vscode打開終端。你會有bash -

  7. 如果要用win10本身來遠端登入wsl的Ubuntu,參考這篇文章,https://blog.csdn.net/technofiend/article/details/72771277點選打開連結  ,但是我的run.sh檔案是這樣寫的,你還需要apt一個expect
    #!/usr/bin/expect
    
    
    set timeout 10 
    spawn ssh [email protected] -p 2222
    expect { 
     "*yes/no" { send "yes\r"; exp_continue} 
     "*password:" { send "yourpassword\r";exp_continue} 
     "*#" {send "cd /mnt/c/ \r"}
    } 
    
    interact
               
  8. sanic的異步機制,需要我們在wsl上運作一個run.py檔案,啟動服務。然後回到windows浏覽器輸入網址來浏覽。這樣我們就實作了在windows下配置和調試sanic程式的目的。

繼續閱讀