WSL配置及在WSL中安装pyenv, nvm

wsl的IO慢很大一部分原因是windows defender会不停的扫描wsl所在的文件夹

  • 解决办法要么将wsl所在文件夹加入到排除列表中
  • 要么安装一个其他的安全软件替代windows defender 比如火绒
  • wsl2貌似解决了这个问题

换源 清华,注意ubuntu版本

帮助页面

使用open-wsl

  1. 下载open-wsl https://github.com/goreliu/wsl-terminal
  2. 将其解压放至文件夹
  3. 运行tools目录下2-add-wsl-terminal-dir-to-path.js将其添加至环境变量
  4. 运行tools目录下1-add-open-wsl-terminal-here-menu.js添加至右键菜单
  5. 使用右键菜单方式创建快捷方式,快捷方式属性->目标 最后添加-C ~,注意-前有空格。此为创建默认打开~目录的快捷方式
  6. zsh安装结束后在/etc/wsl-terminal.conf中设置shell为zsh
  7. 详细教程,其他功能见github

安装zsh

  1. sudo apt install zsh
  2. chsh -s /bin/zsh

美化zsh

  1. 安装oh-my-zsh

    sh -c "$(wget https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh -O -)"

  2. 安装3个插件

    # zsh-autosuggestions
    git clone git://github.com/zsh-users/zsh-autosuggestions $ZSH_CUSTOM/plugins/zsh-autosuggestions
    
    # zsh-syntax-highlighting
    git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting
    
    # autojump
    git clone https://github.com/joelthelion/autojump.git
    cd autojump
    ./install.py #此时需要python2 sudo apt install python
    # 复制命令行中出现的指令至.zshrc最后
    
    #编辑.zshrc
    #主题改为ys
    #插件处添加以上三个插件名字
      zsh-autosuggestions
      zsh-syntax-highlighting
      autojump
    
    
    
  3. 重新加载.zshrc

    source .zshrc

  4. 修复权限问题
    执行完上一条命令后zsh会报出警告,文件夹权限有问题。
    n结束加载后,输入警告中提供的指令,即可修复权限问题。

git设置

为了保持换行符的一致性,修改git默认转换设置及提交检查

# 提交时转换为LF,checkout时不转换
git config --global core.autocrlf input
# 禁止提交包含混合换行符的文件
git config --global core.safecrlf true

设置proxy转发

wsl2中无法用127.0.0.1连接windows了
此处为做全局转发并使用alias配置快捷指令

# 在 .zshrc中添加
export hostip=$(cat /etc/resolv.conf |grep -oP '(?<=nameserver\ ).*')
export proxy_addr="http://${hostip}:7890" # allow LAN
alias setproxy="export {all_proxy,http_proxy,https_proxy,ALL_PROXY,HTTP_PROXY,HTTPS_PROXY}=\"$proxy_addr\";"
alias unsetproxy="unset all_proxy http_proxy https_proxy ALL_PROXY HTTP_PROXY HTTPS_PROXY"

使用curl google.com测试连通性
临时

export hostip=$(cat /etc/resolv.conf |grep -oP '(?<=nameserver\ ).*')
export proxy_addr="http://${hostip}:7890" # allow LAN
export {all_proxy,http_proxy,https_proxy,ALL_PROXY,HTTP_PROXY,HTTPS_PROXY}=\"$proxy_addr\"

使用nvm安装管理node

nvm github地址

  1. 根据readme中的安装说明安装 注意zsh要将最后的bash改为zsh 否则安装后加载指令会写到bashrc中
  2. .zshrc中添加export NVM_NODEJS_ORG_MIRROR=https://npm.taobao.org/mirrors/node
    将淘宝源添加为nvm的下载源, 加速下载
  3. 可用nvm install stable 安装最新版. nvm install --lts安装lts版
  4. 自动使用最近安装的版本. 使用nvm use stable指定使用最新版,可用tab补全查看版本
  5. 更换npm源
npm config set registry https://registry.npm.taobao.org
# 查看npm配置
npm config list

pyenv安装管理python

  1. pyenv github地址
  2. 按照说明 使用pyenv-installer安装pyenv. 注意将指令中的bash改为zsh. 且貌似不会自动在zshrc中添加启动指令. 需要将安装脚本运行完后列出的指令复制到zshrc中
  3. pyenv使用编译的方式安装python, 需要安装编译所需的一些库
# ubuntu
sudo apt-get install -y make build-essential libssl-dev zlib1g-dev libbz2-dev \
libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev libncursesw5-dev \
xz-utils tk-dev libffi-dev liblzma-dev python-openssl git
  1. pyenv默认连接python.org下载, 国内访问速度很慢.两个解决办法
    1. 使用代理
    2. 去淘宝的代理源中下载源码包到~/.pyenv/cache 然后安装
      自动指令:v=3.7.6;wget https://npm.taobao.org/mirrors/python/$v/Python-$v.tar.xz -P ~/.pyenv/cache/;pyenv install $vv表示版本
  2. 设置全局python版本
    pyenv global 3.7.6
  3. 创建virtualenv
    pyenv virtualenv vpname
  4. 更换pip源
    pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
  5. 使用pyenv local 版本名或virtualenv名给每个目录设置使用的python版本, 进入此目录后自动使用
  6. 可以在目录中新建.python-version文件,其中写上需用到的环境名称

你可能感兴趣的:(WSL配置及在WSL中安装pyenv, nvm)