使用 Visual Studio Code 设置 Python 开发环境





5.00/5 (5投票s)
适用于各种环境的 Python 开发 Visual Studio Code 使用教程。
Visual Studio Code (VS Code) 几年来一直是我的首选编辑器。在微软和社区的积极改进下,VS Code 已经提升到了一个全新的水平。随着远程开发扩展的发布,我现在可以在各种环境中,在 VS Code 中完成我的日常工作和我的开源项目。本文是对 VS Code Python 开发设置的简要教程——这是我日常使用的设置。如果有人恰好想使用 VS Code 进行 Python 开发,希望本文能节省您宝贵的时间。VS Code 有海量的文档。请访问 此链接 了解更多详情。
绘图
本教程使用一个简单的 Python 项目来演示在 Windows 10、Linux 子系统、远程 Linux 和 Raspberry Pi 上的 Raspbian 上设置 VS Code 进行 Python 开发。
该 Python 项目具有以下布局
project
|-- mathlib
| |-- __init__.py
| |-- compute.py
|-- test_compute.py
compute.py 和 test_compute.py 的内容如下
compute.py
def inc(value: int) -> int:
"""Return the number increased by one."""
return value + 1
def dec(value: int) -> int:
"""Return the number decreased by one."""
return value - 1
test_compute.py
from mathlib import compute
def test_int():
assert compute.inc(value=5) == 6
def test_dec():
assert compute.dec(value=5) == 4
Windows-集中式设置
虽然 VS Code 可以在不同的平台(例如 Linux 和 MacOS)上运行,但本教程使用 Windows 10 作为运行 VS Code 的主要场所。
假设和要求
本教程中使用的软件是
- Visual Studio Code 1.37 及扩展
- Python 2019.8.30787
- Remote Development 0.16.0
- Python 3.7
- Windows 10 1903
- Ubuntu 18.04 (用于 WSL 和远程 Linux)
- Raspberry Pi 3 B+ 上的 Raspbian
典型的 Python 开发包括虚拟环境、代码检查、测试和调试。本教程使用
所有代码检查器都由 VS Code 的 Python 扩展支持。有关代码检查的更多详情,请在此处查看。
在 Windows 上安装
由于本教程中使用 Windows 10 作为运行 VS Code 的主机,因此我们需要在 Windows 主机上安装 VS Code。
安装 VS Code
- 从这里下载 VS Code。编写本教程时,最新版本是 1.37。
- 双击下载的安装程序 VSCodeUserSetup-x64-1.37.1.exe 进行安装。
安装 VS Code 扩展
VS Code 有成千上万的扩展;Python 和 Remote Development 扩展是 Windows 和远程平台 Python 开发的必备条件。
- 启动 VS Code。
- 点击扩展图标
或按
Ctrl+Shift+X
打开扩展窗口。 - 在搜索栏中输入 Python 并进行安装。
- 在搜索栏中输入 Remote Development 并进行安装。Remote Development 扩展还会安装 **Remote – Containers, Remote – SSH, Remote – SSH: Editing Configuration Files, Remote – SSH: Explore** 和 **Remote – WSL**。
安装完成后,VS Code 应如下所示
在 Windows 上设置 Python 开发环境
要在 Windows 上运行 Python 代码,我们需要安装 Python。
安装 Python
可以通过 1. Microsoft Store,或 2. Python 官方网站安装 Python。按照说明进行安装。本文撰写时,最新稳定版本是 3.7.4。
创建虚拟环境
假设我们将 C:\Workspace 用作本教程的工作区,并将 working_environment
作为我们的虚拟环境。
cd C:\Workspace
C:\Workspace>python -m venv working_environment
创建项目和设置 VS Code
现在我们准备好使用 VS Code 创建项目了。
步骤 1:启动 VS Code
步骤 2:文件 -> 打开文件夹
步骤 3:在 C:\Workspace\ 下创建一个名为 project
的新文件夹
步骤 4:添加 图表中显示的文件夹和文件,使其看起来像这样
一旦我们添加了 Python 文件,VS Code 会自动检测 Python 环境;默认情况下,它会选择系统环境。
它也可能检测到某些东西未安装,例如 pylint
和 pytest
。
暂时忽略它们,因为我们不想将这些安装到系统 Python 解释器中。
步骤 5:我们要为该项目使用刚刚创建的虚拟环境 working_environment
。为此,我们需要告诉 VS Code 虚拟环境的路径。
- 文件 -> 首选项 -> 设置
- 在顶部的搜索栏中键入
venv path
- 添加 C:\Workspace
步骤 6:点击 Python 解释器图标选择 working_environment
。现在 working_environment
应该可用了。
a. 点击图标
b. 选择 working_environment
注意:如果它没有显示出来,可能需要重启 VS Code。
有关 Python 虚拟环境的更多详情,请在此处查找。
配置代码检查、类型检查等
默认情况下,VS Code 中启用了 Pylint
进行 Python 开发,但 VS Code 支持许多其他代码检查器。本节演示了我日常使用的一些代码检查设置。
- 文件 -> 首选项 -> 设置,然后在顶部的搜索栏中键入 linting。将出现许多代码检查器选项。
启用并安装 pydocstyle
- 勾选
pydocstyle
选项的复选框。 - 勾选复选框后,将弹出安装选项。点击它来安装
pydocstyle
。 - 如果我们要为
pydocstyle
添加非默认选项,请点击添加项目按钮。添加我们想要的参数。例如,如果我们想使用 numpy 风格,请添加
--convention=numpy
。 - 然后点击确定按钮。它将看起来像
注意:
pydocstyle
的完整参数可以在 http://www.pydocstyle.org/en/4.0.0/usage.html#command-line-interface 找到。
启用并安装 mypy
- 勾选
mypy
选项的复选框。 - 安装
mypy
。
启用并安装 pep8
执行与上一步相同的操作来启用和安装 pep8
。
- 勾选
pep8
选项的复选框。 - 安装
pep8
。
注意:所有代码检查器都安装在 working_environment
中。
有关 VS Code 代码检查的更多详情,请在此处查找。
测试和调试
关于测试和调试的设置,VS Code 有非常全面的文档
现在,我们应该拥有一个使用 VS Code 进行 Python 项目开发的可用环境了。
通过 SSH 设置 Linux 上的 Python 开发环境
VS Code Remote – SSH 扩展允许我们在具有运行中 SSH 服务器的远程计算机上打开远程文件夹,并充分利用 VS Code 的功能,如自动完成、调试和代码检查。
假设:本节假设我们有一台启用了 SSH 的远程 Linux(Ubuntu 18.04)机器。
步骤 1:在 Windows 10 主机上安装 OpenSSH 客户端
要安装 OpenSSH,请执行以下操作
设置 -> 应用 -> 应用和功能 -> 可选功能 -> 可选功能 -> 添加功能(如果尚未安装 OpenSSH 客户端)。找到 OpenSSH 客户端并点击“安装”。安装完成后,应如下所示
有关 OpenSSH 的更多选项,请在此处查找。
步骤 2:设置 SSH 密钥
在 Windows 10 主机上,启动命令提示符并执行以下步骤
- 生成 SSH 密钥对。并接受所有默认值。
C:\Users\user> ssh-keygen -t rsa -b 4096
- 将本地公钥(id_rsa.pub)的内容添加到 SSH 主机(即远程 Linux)上的相应 authorized_keys 文件中。
C:\Users\user> SET REMOTEHOST=your-user-name-on-host@host-fqdn-or-ip-goes-here
- 将本地公钥复制到远程 Linux。
C:\Users\user> scp %USERPROFILE%\.ssh\id_rsa.pub %REMOTEHOST%:~/tmp.pubssh %REMOTEHOST% "mkdir -p ~/.ssh && chmod 700 ~/.ssh && cat ~/tmp.pub >> ~/.ssh/authorized_keys && chmod 600 ~/.ssh/authorized_keys && rm -f ~/tmp.pub"
步骤 3:连接到远程 Linux 主机
- 在 Windows 10 上启动 VS Code
- 点击远程开发图标
并点击配置 SSH 主机。或者按 Ctrl+Shift+P 打开命令面板,键入 Remote-SSH: Connect to Host… 并选择 Configure SSH Hosts…
- 选择适当的 config 文件。它可能看起来像 C:\Users\user\.ssh\config。
- 通过添加 Linux 主机信息来编辑 config 文件。配置可能看起来像
- 点击远程计算机的名称(在此示例中,其名称为
remote-ubuntu
)以连接到远程计算机。 - VS Code 的新窗口将打开并要求用户输入密码。
- 连接建立后。将显示图标
。
- 在远程 Linux 上安装 Python 扩展。Python 扩展已安装在 Windows 主机上,但为了提供 VS Code 提供的所有 Python 功能,我们需要在远程 Linux 上安装 Python 扩展。
- 点击扩展图标
。它应该显示类似下图的内容
底部部分显示已安装在本地计算机(在此示例中为 Windows 10)上的扩展。顶部部分显示已安装在远程计算机(在此情况下为 Ubuntu 18.04)上的扩展。现在远程计算机上没有安装任何扩展。
- 要安装 Python 扩展,请点击安装按钮
。
- 安装完成后,扩展窗口将变成
- 点击扩展图标
步骤 4:设置项目
在远程 Linux 上
现在,我们可以在远程 Linux 上创建虚拟环境和 Python 项目。
- SSH 到远程 Linux 机器。
- 创建一个工作区文件夹
$ mkdir workspace $ cd workspace/
- 创建一个虚拟环境,
working_environment
$ python3.7 -m venv working_environment
- 创建一个项目文件夹
$ mkdir project
在 Windows 主机上
- 如果我们尝试通过 文件 -> 打开文件夹 打开文件夹。它将显示远程 Linux 上的文件系统。选择上面创建的项目文件夹。
- 重复创建项目和设置 VS Code 部分中提到的步骤。
注意:我们为 Windows 更改的设置是按用户应用的。在这里,我们应该更改远程的设置。现在,VS Code 应该可以用于在远程 Linux 机器上进行 Python 开发了。
有关 VS Code 远程开发的更多详情,请在此处查找。
通过 SSH 设置 Raspberry Pi 上的 Python 开发环境
在 Raspberry Pi 上的远程开发设置与普通 Linux(如 Ubuntu)相同。但是,VS Code 目前的远程开发不支持 ARM 架构。Raspberry Pi 3 是 ARM 架构。因此,要在 Raspberry Pi 上通过 SSH 进行远程开发,我们需要使用Visual Studio Code – Insiders。
下载并安装 Visual Studio Code – Insiders
- 从https://vscode.js.cn/insiders/ 下载 VS Code – Insiders
- 按照说明安装 VS Code – Insiders
安装 VS Code – Insiders 后。请按照通过 SSH 设置 Linux 上的 Python 开发环境部分提到的步骤进行操作。步骤相同。唯一的区别是远程 Linux 机器变成了 Raspberry Pi 上的 Raspbian。
VS Code – Insiders 与 Raspberry Pi 的用户体验应该与 VS Code 与远程 Linux 的体验完全相同。
使用 WSL 设置 Python 开发环境
Windows Subsystem for Linux 让开发者无需虚拟机即可直接在 Windows 上获得 Linux 环境体验。借助 VS Code 的远程开发扩展,我们可以享受 VS Code 的全部功能,并在 Windows 上开发、运行和调试基于 Linux 的应用程序。
步骤 1:启用和安装 WSL
按照说明启用和安装 WSL:https://docs.microsoft.com/en-us/windows/wsl/install-win10
步骤 2:创建虚拟环境和项目
从 WSL 命令行,发出以下命令
- 创建工作区
$ mkdir workspace $ cd workspace
- 创建一个虚拟环境,
working_environment
$ python3.7 -m venv working_environment
- 创建一个项目文件夹
$ mkdir project
步骤 3:从 VS Code 连接到 WSL
- 启动 VS Code。
- 键入 Ctrl+Shift+P 打开命令面板,然后键入 Remote-WSL: New Window。
- 选择 Remote-WSL: New Window 后,将出现一个新的 VS Code 窗口并连接到 WSL。左下角的图标
表示 VS Code 已连接到 WSL。
- 在 WSL 上安装 Python 扩展。与 Remote SSH 类似,我们需要在 WSL 上安装 Python 扩展。点击按钮进行安装。
步骤 4:设置项目
一旦 VS Code 连接到 WSL,我们应该能够按照为 Windows 和远程 Linux 设置项目的方式来设置 Python 项目。
- 打开项目文件夹。
- 重复创建项目和设置 VS Code 部分中提到的步骤。
注意:与 Remote SSH 类似,对于 WSL,我们应该在 Remote [WSL: Ubuntu-18.04] 下更改设置。
现在,VS Code 应该可以用于通过 WSL 进行 Python 开发了。
有关 WSL 远程开发的更多详情,请在此处查找。
结论
VS Code 是高度可扩展且可通过扩展和设置进行配置的,因此开发者可以通过扩展添加功能,并通过配置 VS Code 来增强我们的工作流程。除了 Python 和 Remote Development 扩展之外,这里还有一些我认为有用且我每天都在使用的扩展列表。
- Bookmarks 有助于代码导航。
- Bracket Pair Colorizer 突出显示匹配的括号。
- Code Spell Checker 检查源代码的拼写。
- GitLens 提供无缝导航和探索 Git 仓库的功能。
- Settings Sync 使用 GitHub 账户令牌和 Gist 来同步 VS Code 设置。
- Visual Studio IntelliCode 为 Python 提供 AI 辅助开发功能。
尽管本教程使用 Windows 10 作为 VS Code 的主机,但 VS Code 也可以在 Linux 和 Mac 上安装和运行。本文所述的设置也可以应用于 Linux 和 Mac。希望您觉得这篇文章很有用。
(此帖子首次出现在 Shun's Vineyard。)
历史
- 2019 年 9 月 8 日:初始版本