Win10構建Python全棧開發環境With WSL


Win10構建Python全棧開發環境With WSL

在學習Python全棧過程中,隨着后面地深入,進入實際項目地開發階段后,越發地發現,項目要使用的第三方軟件(redis git等)或者外界(支付寶開放平台/微信開放平台)聯系越來越多,自己構建一個開發web服務,以及Python多版本切換問題(pyenv只支持在類linux環境)。於是對linux依賴也越多。自己也在阿里雲買了一個ECS,但是本地電腦也需要一個linux環境,於是乎發現了WSL。然后在網上查了很多WSL構建各種開發個人電腦開發環境的文章,借此文總結記錄一番。為什么不用mac:買不起;還有種草surface pro了

博文圖片掛了臨時解決辦法

啟動WSL

  • 可google有很多

  • 選擇Ubuntu發行版系統
    其它評分好像很低。也比較熟悉

  • 啟動后會先安裝,然后提示創建一個新系統的用戶名和密碼,注意這個用戶不是root權限用戶。但是有sudo執行權限。sudo -i。

  • 從win store 安裝的這個系統,打開后的命令終端是太丑,所以網絡上大多都沒有使用。

總結

最后,我實在不想自己總結了,因為有人給我們總結的已經非常非常好了,直接跳轉去學習吧《Dev on Windows with WSL

對《Dev on Windows with WSL》的補充

'文章'在下文都是特指《Dev on Windows with WSL》

  • 文章中的三種terminal (Powershell,hyper, terminus) 都是提到了使用特定的字體。因為oh-my-zsh插件中如果使用powerlevel9k主題,對於powerlevel9k主題是要依賴很多icon字體的,這些字體一般的字體如微軟雅黑等,都是沒有特殊icons的,要單獨安裝字體。推薦的是nerdfonts,nerdfonts算是一個補丁字體,nerdfonts官網提供了打了nerdfonts補丁的很多種類完整字體,選擇你喜歡的下載,然后安裝即可。然后就可以在三種terminal中設置字體為我們下載安裝的字體了。具體使用見文章
  • 博主還提到了一個powerline字體,這個也是類似nerdfonts,是補丁字體,powerline也提供了這些字體的安裝,但是powerline項目文檔沒提供windows端的補丁字體的安裝,但是網上有人給出了安裝過程,參考
    How to install Powerline fonts in Windows
    按照文章步驟一步一步就能安裝上powerline字體的各種集合了。注意powerline字體是powerlevel9k指定的,其實powerlevel9k是兼容使用nerdfonts的。畢竟設置的特殊icon字符都是已unicode編碼,只要編碼能對了上一個icon字符即可。需要注意:使用nerdfont的powerlevel9k需要配置一個配置選項:
    文章作者也提供了自己的配置,里面也有這個選項的設置。
  • 對於wsl的每一個用戶都需要配置安裝自己的oh-my-zsh。
  • 對於terminus在設置是千萬不要點擊'dock the terminal',這里有一個bug,會讓terminus不顯示。解決辦法:issue里面的辦法試了沒用,我自己有一個辦法:利用window的分屏,拖動一個應用到右邊框,然后會提示左右分屏,然后選擇左邊屏幕程序,這時候就有terminus,選擇terminus,這樣terminus就神奇的出現了。
  • 這里有一個新認知:terminal程序的字體,要和其連接的shell傳輸到terminal端的字符要匹配上,oh-my-zsh發送了一些icon font的Unicode字符給terminal,這時候的terminal是解析不出來的,會亂碼一樣顯示一個方框,這是如果terminal安裝了icon font字體,那么termianl就能正常顯示了。
  • 注意,最好安裝的任何東西都是通過normal user 賬號安裝操作,需要提升權限用sudo,因為只有這個normal用戶的bash或zsh的環境變量PATH才包含了windows系統的*.exe程序。
  • 建議:node.js 通過nvm安裝;python 通過 pyenv安裝;
    至於redis/mysql安裝,google ubuntu安裝reids和mysql就一抓一大把,我的博客有詳細redis介紹編譯安裝,讀者可以參考。
  • 其實使用了oh-my-zsh后感覺每次提示行顯示出來都會比較慢。所以還是需要效果好看影響了性能,有時間再換個主題優化一下。

附:我的zsh效果圖和配置

  • 效果圖:
  1. normal user:

  2. root user:
  3. 結合terminal效果:
  • 配置:
    都是在~/.zshrc中有關powerlevel9k等配置,增加這些配置選項即可:
  1. normal user:
POWERLEVEL9K_PROMPT_ON_NEWLINE=true
POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=(os_icon root_indicator context dir vcs status)
POWERLEVEL9K_RIGHT_PROMPT_ELEMENTS=()
POWERLEVEL9K_DISABLE_RPROMPT=true
POWERLEVEL9K_STATUS_CROSS=true
POWERLEVEL9K_LEFT_SEGMENT_SEPARATOR=$'\uE0B4'
POWERLEVEL9K_RIGHT_SEGMENT_SEPARATOR=$'\uE0B6'
POWERLEVEL9K_MODE=nerdfont-complete
POWERLEVEL9K_SHORTEN_DIR_LENGTH=2
POWERLEVEL9K_SHORTEN_STRATEGY=truncate_to_first_and_last
# POWERLEVEL9K_MULTILINE_FIRST_PROMPT_PREFIX="╭"
POWERLEVEL9K_MULTILINE_FIRST_PROMPT_PREFIX=""
# POWERLEVEL9K_MULTILINE_LAST_PROMPT_PREFIX="╰\u276F\u276F\u276F "
POWERLEVEL9K_MULTILINE_LAST_PROMPT_PREFIX="\u276F\u276F\u276F "
POWERLEVEL9K_OS_ICON_FOREGROUND="black"
POWERLEVEL9K_OS_ICON_BACKGROUND="magenta"
POWERLEVEL9K_DIR_DEFAULT_FOREGROUND="black"
POWERLEVEL9K_CONTEXT_DEFAULT_FOREGROUND="black"
POWERLEVEL9K_CONTEXT_DEFAULT_BACKGROUND="cyan"
ZSH_THEME="powerlevel9k/powerlevel9k"

# # Change ls colours
LS_COLORS="ow=01;36;40" && export LS_COLORS
#
# # make cd use the ls colours
zstyle ':completion:*' list-colors "${(@s.:.)LS_COLORS}"
autoload -Uz compinit
compinit
  1. root user:
    root 和 normal用戶不一樣就是 POWERLEVEL9K相關的配置了,其它配置都一樣。
POWERLEVEL9K_PROMPT_ON_NEWLINE=true
POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=(os_icon root_indicator  context dir vcs status)
POWERLEVEL9K_RIGHT_PROMPT_ELEMENTS=()
POWERLEVEL9K_DISABLE_RPROMPT=true
POWERLEVEL9K_STATUS_CROSS=true
POWERLEVEL9K_LEFT_SEGMENT_SEPARATOR=$'\uE0B4'
POWERLEVEL9K_RIGHT_SEGMENT_SEPARATOR=$'\uE0B6'
POWERLEVEL9K_MODE=nerdfont-complete
POWERLEVEL9K_SHORTEN_DIR_LENGTH=2
POWERLEVEL9K_SHORTEN_STRATEGY=truncate_to_first_and_last
POWERLEVEL9K_MULTILINE_FIRST_PROMPT_PREFIX=""
POWERLEVEL9K_MULTILINE_LAST_PROMPT_PREFIX="\u276F\u276F\u276F "
POWERLEVEL9K_OS_ICON_FOREGROUND="black"
POWERLEVEL9K_OS_ICON_BACKGROUND="magenta"
POWERLEVEL9K_DIR_DEFAULT_FOREGROUND="black"
POWERLEVEL9K_CONTEXT_DEFAULT_FOREGROUND="black"
POWERLEVEL9K_CONTEXT_DEFAULT_BACKGROUND="cyan"
POWERLEVEL9K_CONTEXT_ROOT_BACKGROUND="hotpink"
POWERLEVEL9K_CONTEXT_ROOT_FOREGROUND="yellow1"
POWERLEVEL9K_ROOT_INDICATOR_BACKGROUND="hotpink"
POWERLEVEL9K_ROOT_INDICATOR_FOREGROUND="grey3"
POWERLEVEL9K_ROOT_ICON=$'\uf21e'

補充下python virtualenv環境

效果圖:

配置修改:

~/.zshrc 文件修改
POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=(virtualenv os_icon root_indicator context dir vcs status )  # 添加virtualenv

plugins=(
#  git
  zsh-autosuggestions
  virtualenv  # 添加插件
)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM