欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Win10构建Python全栈开发环境With WSL

程序员文章站 2022-12-01 07:59:44
Win10构建Python全栈开发环境With WSL === [toc] 在学习Python全栈过程中,随着后面地深入,进入实际项目地开发阶段后,越发地发现,项目要使用的第三方软件(redis git等)或者外界(支付宝开放平台/微信开放平台)联系越来越多,自己构建一个开发web服务,以及Pyth ......

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, *) 都是提到了使用特定的字体。因为oh-my-zsh插件中如果使用powerlevel9k主题,对于powerlevel9k主题是要依赖很多icon字体的,这些字体一般的字体如微软雅黑等,都是没有特殊icons的,要单独安装字体。推荐的是,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需要配置一个配置选项:Win10构建Python全栈开发环境With WSL
    文章作者也提供了自己的配置,里面也有这个选项的设置。
  • 对于wsl的每一个用户都需要配置安装自己的oh-my-zsh。
  • 对于*在设置是千万不要点击'dock the terminal',这里有一个bug,会让*不显示。解决办法:issue里面的办法试了没用,我自己有一个办法:利用window的分屏,拖动一个应用到右边框,然后会提示左右分屏,然后选择左边屏幕程序,这时候就有*,选择*,这样*就神奇的出现了。
  • 这里有一个新认知: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:
    Win10构建Python全栈开发环境With WSL
    Win10构建Python全栈开发环境With WSL
  2. root user:
    Win10构建Python全栈开发环境With WSL
  3. 结合terminal效果:
    Win10构建Python全栈开发环境With WSL
  • 配置:
    都是在~/.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环境

效果图:
Win10构建Python全栈开发环境With WSL

配置修改:

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

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