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程序的目的。


你可能感兴趣的:(windows10下使用wsl子系统搭建sanic的环境(一篇解决所有问题))