我在wsl上安装了python3.6,并将我的VSC集成终端设置为settings.json中的bash

如果我将python.pythonPath: "python3"设置为VSC,则警告我选择python环境,并仅显示Windows上的python安装。有什么办法可以将我在wsl上安装的python3添加到VSC中的python环境列表中,或者摆脱警告?

另外,当我尝试在Terminal中运行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的所有不兼容问题,那会更好吗?

最佳答案

我能够找到关于Microsoft的vscodeWSL Github存储库中有关php提交的类似问题的解决方法。

要在VSC的终端中运行Python文件,您需要切换回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%。 (例如,如果您正在运行D中的python文件:请将此行更改为set v_params=%v_params:d:=/mnt/d%
settings.json中,添加/更改如下:
"python.pythonPath": "C:\\path\\to\\bat\\python3"
要测试您的设置,请创建一个test.py文件,如下所示:
import sys

print(sys.executable)

并在VSC中右键单击以在终端中运行Python文件,输出应为/usr/bin/python3
注意:虽然bat脚本有效,但是在VSC中,它仍会警告您选择Python环境

关于python-3.x - 如何使用WSL上安装的python获取Visual Studio Code,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47215938/

10-12 04:20