应用文章精选系统和软件配置程序员

Windows10安装WSL(Ubuntu子系统)及YouCom

2017-11-24  本文已影响677人  科幻经典

第一步:安装wsl

WSL(Ubuntu)将Ubuntu和Win10无缝连接起来,让开发人员可以不使用虚拟机,就轻松地在同一个系统中使用win10和Ubuntu,你可以用它代替Cywin32和babun.

  1. 在win10的设置中打开更新和安全,打开针对开发人员选项
  2. 然后在程序和功能中打开Linux子系统。
  3. 重启计算机后,打开应用商店搜索下载ubuntu

第二步:安装wsl terminal

wsl-terminal是一个很好用的WSL终端。

第三步:更新root用户的密码

桌面点击鼠标右键,选择Open WSL Here打开Bash。

sudo passwd

这一步需要输入你在下载ubuntu后建立的用户密码

第四步:更换软件源(apt源和pip源)

系统默认的apt源是国外的,下载软件速度慢,python的pip源也很慢,我们都换成阿里云的源。

cd /etc/apt/
sudo cp sources.list sources.list.bak && sudo vim sources.list

删除其中所有内容,替换成:

#deb包
deb http://mirrors.aliyun.com/ubuntu/ xenial main restricted universe multiverse  
deb http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted universe multiverse  
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted universe multiverse  
deb http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse  
##测试版源  
deb http://mirrors.aliyun.com/ubuntu/ xenial-proposed main restricted universe multiverse  
# 源码  
deb-src http://mirrors.aliyun.com/ubuntu/ xenial main restricted universe multiverse  
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted universe multiverse  
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted universe multiverse  
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse  
##测试版源  
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-proposed main restricted universe multiverse  
# Canonical 合作伙伴和附加  
deb http://archive.canonical.com/ubuntu/ xenial partner  
deb http://extras.ubuntu.com/ubuntu/ xenial main  
sudo apt update
sudo apt upgrade
[global]
trusted-host=mirrors.aliyun.com
index-url=http://mirrors.aliyun.com/pypi/simple/

第五步:安装zsh

zsh能让你通过键盘的上键,查找以前输入的命令。
例如,你可以输入sudo然后按向上键,就会出现以前输入的以sudo开头的命令。

;shell=/bin/bash
shell=/bin/zsh

如果提示文件只读,采取第一步中的获取权限

第六步:安装Vundle和YouCompleteMe

Vundle是vim插件管理工具,YCM是很好用的C、python代码补全工具,也支持Go、Rust等其他语言。

vi ~/.vimrc

在其中添加

set nocompatible              " be iMproved,  required
filetype off                  " required
set rtp+=~/.vim/bundle/Vundle.vim
call vundle#begin()

Plugin 'VundleVim/Vundle.vim'
Plugin 'davidhalter/jedi-vim'
Plugin 'Valloric/YouCompleteMe'

call vundle#end()            " required
filetype plugin indent on    " required

保存退出,并进入vi

vi

按下键进入命令行,输入

PluginInstall

注意:所有的vim插件必须放在call vundle#begin()call vundle#end()之间。

YCM的python补全依赖jedi-vim

因为YCM包有200多M,所以需要下载很久。

第七步:编译YCM

安装完成后提示YCM server错误,这是正常的,因为ycm需要手工编译出YCM core库。

  1. 安装YCM编译需要的依赖
    sudo apt -y install cmake build-essential python3-dev
  2. 切换到YCM目录:
    cd ~/.vim/bundle/YouCompleteMe
  3. 更改编译使用python3(使用python2.7时跳过本步骤):
    vi ./install.py
    把第一行末尾的python改为python3
  4. 编译YCM core:
    ./install.py

参考:
vim安装YouCompleteMe插件,与python补全插件jedi-vim

第八步:配置YCM

YouCompleteMe配置后才能发挥出它强大的功效。

"python版本设置,使用python2.7时去掉末尾的数字3
let g:ycm_python_binary_path='/usr/bin/python3'
" 语法关键字补全
let g:ycm_seed_identifiers_with_syntax=1
"从第2个键入字符就开始罗列匹配项
let g:ycm_min_num_of_chars_for_completion=2
"最小候选标识符长度
let g:ycm_min_num_identifier_candidate_chars = 5
"按下Ctrl+空格直接弹出所有类和函数,要先关闭系统中的输入法切换快捷键
let g:ycm_key_invoke_completion = '<C-Space>'
"配置文件路径
let g:ycm_global_ycm_extra_conf='~/.vim/.ycm_extra_conf.py'
"把ycm识别的标识符和语法关键字放在一起
let g:ycm_seed_identifiers_with_syntax = 1


"注释和字符串中的文字也会被收入补全,默认关闭
let g:ycm_collect_identifiers_from_comments_and_strings=1
"字符串输入补全,字符串中输入.加字母时会引发错误,默认开启
let g:ycm_complete_in_strings=1

不同于很多vim插件,YCM需要有配置。在vim启动后,YCM会找寻当前路径以及上层路径的.ycm_extra_conf.py。在~/.vim/bundle/YouCompleteMe/third_party/ycmd/examples/中提供了默认的模板。

复制配置文件:

cp ~/.vim/bundle/YouCompleteMe/third_party/ycmd/examples/.ycm_extra_conf.py ~/.vim/

第九步 python和pip配置

sudo ln -s /usr/bin/python3 /usr/bin/python
wget bootstrap.pypa.io/get-pip.py
sudo python get-pip.py

第十步 pypy3安装配置(如果不使用pypy请跳过)

tar -jxvf pypy3-v5.9.0-linux64.tar.bz2

解压命令详解

sudo mv pypy3-v5.9.0-linux64 /usr/local/lib/
sudo ln -s /usr/local/lib/pypy3-v5.9.0-linux64/bin/pypy3 /usr/bin/pypy
sudo pypy get-pip.py
sudo ln -s /usr/local/lib/pypy3-v5.9.0-linux64/bin/pip /usr/bin/pipp

注意:你也可以使用类似pip-pypy的命令来代替pipp,这只是我个人习惯

第十一步 使用virtualenvwrapper虚拟环境

通常不同的项目会使用不同的库版本,虚拟环境能让你免弄坏系统环境的风险。virtalenvwrapper基于virtualenv,但是更方便。

sudo pip install virtualenvwrapper

这会自动安装依赖包virtualenv。

source /usr/local/bin/virtualenvwrapper.sh
mkvirtualenv -p /usr/local/lib/pypy3-v5.9.0-linux64/bin/pypy3 pypy

默认创建在~/. virtualenvs目录下
-p指定了建立时使用的版本,如果你使用默认的python3,可以使用
mkvirtualenv python3

vi ~/.zhsrc

在末尾添加

source /usr/bin/virtualenvwrapper.sh
workon env1

第十二步 Vim语法检查和格式化代码

syntastic是语法检查工具,它需要flake8的支持,yapf用来格式化python代码。

pip install flake8 yapf
Plugin 'vim-syntastic/syntastic'

"(下面的配置放在vundle安装语句外)
"vimrc设置flake8作为语法检查器
let g:syntastic_python_checkers = ['flake8']
"高亮错误"
let g:syntastic_enable_highlighting=1
"自动跳转到发现的第一个错误或警告处"
let g:syntastic_auto_jump = 1

"yapf自动格式化快捷键"
autocmd FileType python nnoremap <F8> :0, $!yapf<CR><CR>

保存退出后,用PluginInstall命令安装。

yapf仅对py文件有效, 如果出现语法错误,可能会出现乱码,这时按u键恢复py文件。

第十三步 安装MariaDB数据库

MariaDB是MySQL作者的新分支,CentOS已经默认使用MariaDB代替MySQL。

sudo apt -y install mariadb-server python3-pymysql
sudo service mysql restart
su -
# 输入密码
mysql
# 创建一个名为:admin  密码为:admin  的用户。
insert into mysql.user(Host,User,Password) values("localhost","admin",password("admin"));


# 刷新权限
flush privileges;


# 赋予admin用户所有权限
GRANT ALL ON *.* TO 'admin'@'localhost';
alias db='sudo service mysql start'
  • 注意: mariaDB需要手动创建数据库
  • Ubuntu上mariaDB的默认字符集为utf8mb4,兼容utf-8,不需要进行更改。Centos需要设置charset。
上一篇 下一篇

猜你喜欢

热点阅读