win10配合Ubuntu子系统打造舒适Python开发环境

舒服了

Posted by UlyC on December 16, 2018

小明因为老婆没有工作,一家人生活得挺困难

—— 顾前

win10配合Ubuntu子系统打造舒适Python开发环境

Ubuntu 子系统(WSL)

微软从 Windows 10 开始推出了 Linux 子系统(Windows Subsystem for Linux, WSL)的功能,起初只有 Ubuntu 子系统,现在逐渐推出了多个发行版(包括 Ubuntu,openSUSE,SUSE Linux Enterprise Server 12),主要给开发者使用,可以在 Windows 平台提供 Linux 的开发能力,类似于虚拟机,但是底层实现是直接重写系统调用,因此性能更好。

【注意】Linux子系统有一点要注意, 那就是Windows主系统中的文件能够在Linux子系统中可见, 而Linux子系统中的文件在Windows主系统中不可见. 举个栗子, 比如我在Windows主系统的C:\Demo\Project\src目录中的源代码文件, 可以对其使用dotnet publishgit pull / push(前提是安装Win版的DotNet Core和Git), 然后我在Linux子系统中就可以在/mnt/c/Demo/Project/src这个路径下找到这些文件, 并且也可以执行同样的命令(前提是安装Linux版的DotNet Core和Git). 也就是只要在相应的系统中安装了对应的程序包, 就可以执行对应的操作或命令, 只不过需要你能访问到命令执行的对象文件, 但是你在Linux子系统的/home/Demo/Project/src目录下存放的源代码文件, 在Windows主系统中访问不到, 这就没办法了. 因此我一般都是把开发工作放在Windows系统中, 而把部署运行工作放在Linux子系统下.

启用 Ubuntu 子系统

Windows 10 默认没有开启 Linux 子系统,可以根据微软官方的Linux子系统安装指引来开启。

开启后如何打开 Linux 子系统? 在 cmd 或者 powershell 中执行 bash 即可。这里推荐一款win下美观好用的终端hyper

Pycharm使用WSL中的解释器运行程序

目前中文互联网上能查的方法都比较老了,他们的基本思路都是在WSL中开启SSLserver,然后使用Pycharm中的SSL连接。

不过今年JetBrain发行了PyCharm 2018.3 (Professional Edition),在此版本中最大的特色就是增加了解释器可以直接选择WSL中的解释器,

有了这一功能之后就不用麻烦地设置WSL的SSH了,详细教程见官方文档

第一步: 解释器选择面板中点添加。

第二步: 选择WSL

第三步:

这样解释器就添加完成, mnt mappings 也自动设置好了。

注意

需要特别注意的是,在WSL中如果创建了虚拟环境在Pycharm中是识别不出的,它只会识别WSL系统默认的python解释器。

其他

Ubuntu相关设置

个人wsl的设置 - 洛克的文章 - 知乎

pycharm2018.3以前版本的设置方法

可以参照这篇文章,算是比较新而且可行的。在windows 10的Ubuntu子系统使用Pytorch


知识共享许可协议
本作品采用知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议进行许可。