如何在 WSL 上安装 Visual Studio 与 python 一起使用的代码

How to get Visual Studio Code working with python installed on WSL

我在 wsl 上安装了 python3.6,并在 settings.json

中将我的 VSC 集成终端设置为 bash

如果我设置 python.pythonPath: "python3" VSC 然后警告我到 select python 环境并且只显示 Windows 上的 python 安装。有没有办法可以将我在 wsl 上安装的 python3 添加到 VSC 中的 python 环境列表或摆脱警告?

此外,当我尝试在终端中 运行 Python 文件时,它使用绝对路径 python3 c:/Users/xxx/Code/test.py 无法打开 bash 中的文件,因为没有这样的文件或目录。我需要在 VSC 设置中更改什么才能使用 python3 /mnt/c/Users/xxx/Code/test.py?

在 github 上报告了关于 path translation in VSC 的类似问题。

或者如果我只是手动 运行 来自 bash 的 python 文件以避免与 VSC 和 WSL 的所有不兼容问题会更好吗?

不,您正试图在 Windows 程序中 运行 一个 linux 程序。这没有意义。

您可以在 vscode 中使用 WSL shell。 将此添加到您的用户设置或删除上一个并添加此(如果已有)。

"terminal.integrated.shell.windows": "C:\Windows\System32\bash.exe"

我能够从 Microsoft vscodeWSL Github 存储库中提交的关于 php.

的类似问题中找到解决方法

到运行 Python VSC终端中的文件,您需要切换回cmd作为settings.json

中的集成终端

创建批处理文件python3.bat如下:

@echo off
set v_params=%*
set v_params=%v_params:\=/%
set v_params=%v_params:c:=/mnt/c%
set v_params=%v_params:"=\"%
bash.exe -c "python3 %v_params%"

根据您的家相应地更改set v_params=%v_params:c:=/mnt/c%。 (例如,如果您的 运行 python 文件位于 D: 将此行更改为 set v_params=%v_params:d:=/mnt/d%

settings.jsonadd/change如下:

"python.pythonPath": "C:\path\to\bat\python3"

要测试您的设置,请创建一个 test.py 文件,如下所示:

import sys

print(sys.executable)

并在 VSC 中右键单击 运行 Python 终端中的文件,输出应为 /usr/bin/python3

注意:虽然 bat 脚本有效,但在 VSC 中它仍然会警告您Select Python 环境