env

又到了一年一度的python虚拟环境指南发布的时刻。这是python虚拟环境指南的第三篇,之前的两篇是:

2019年我介绍使用虚拟环境可以避免个各种python版本冲突,提高工作效率;在2020年,我比较和推荐了venv,pipenv和poetry三种虚拟环境的使用场景(目前看之前的内容,还是有效,没看过的朋友欢迎去查看)。本文则主要面向windows用户,如何屏蔽开发环境和运行环境的差异,减少心智障碍,包括下面三个部分:

  • 导读
  • 使用vscode连接远程WSL工作区
  • 使用vscode连接远程SSH工作区

导读

程序员的电脑,大家都推荐的是mac吧。主要在于mac对开发比较友好,同时开发环境(macOS)和运行环境(Linux)切换也比较丝滑。但是mac和win的价格对比也很感人,比如下面差不多的机器,确有小一半的价格差异:

price

如果你有一个win的电脑,要学python开发的,我建议你使用我下面推荐的省钱大法。

使用vscode连接远程WSL工作区

首先在win10机器上安装好wsl,完成后的wsl是这样的:

ubuntu-wsl

wsl和主机之间的磁盘可以共享,在/mnt/目录:

1
2
3
4
5
6
$ ll /mnt/
total 0
drwxr-xr-x 1 root  root  4096 Mar 30  2019 ./
drwxr-xr-x 1 root  root  4096 Mar 30  2019 ../
drwxrwxrwx 1 shawn shawn 4096 Apr  3 08:48 c/
drwxrwxrwx 1 shawn shawn 4096 Mar 22 22:48 d/

一样可以使用venv创建python虚拟环境:

1
2
3
shawn@DESKTOP-I60LPM9:~/opensource$ python3 -m venv .venv
shawn@DESKTOP-I60LPM9:~/opensource$ source .venv/bin/activate
(.venv) shawn@DESKTOP-I60LPM9:~/opensource$ 

下面我们就一步一步学习如何使用vscode连接到远程WSL工作区。首先点击下图中左下角的[⚡] vs 这时候会弹出选择工作区的菜单,我们可以选择[Remote-WSL: New Window]: vs-wsl vscode会打开新窗口,显示正在连接WSL(Ubuntu): vs-wsl2 成功连接后, 左下角显示出wsl的名称。还可以进入terminal验证设备信息和前面直接使用wsl一致: vs-wsl3 给远程的WSL安装vscode的python扩展: vs-wsl-p 在setting中搜索python,然后设置evn为 ${workspaceFolder}/.venv 使用我们创建好的虚拟环境: vs-env 编写测试代码进行测试: vs-wsl-p2

使用vscode连接远程SSH工作区

先使用vitualbox创建一个centos的虚拟机: centos-vm

同样是点击左下角的[⚡]这次在菜单中选择Remote-ssh: vs-ssh 输入虚拟机的ip和密码: vs-ssh2 左小角同样位置会显示远程主机连接成功,然后安装vscode的python扩展 vs-ssh3 和wsl同样设置后,编写代码进行测试: vs-ssh-p

最后,欢迎加下面的微信和我互动交流,一起进阶: wx