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

时间:2017-11-10 05:02:03

标签: python-3.x visual-studio-code python-3.6 windows-subsystem-for-linux

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

如果我设置python.pythonPath: "python3" VSC然后警告我选择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

关于path translation in VSC的github报道了类似的问题。

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

2 个答案:

答案 0 :(得分:4)

我能够在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环境

答案 1 :(得分:0)

不,您正在尝试在Windows程序中运行Linux程序。这没有意义。

您可以在vscode中使用WSL shell。 将其添加到您的用户设置或删除上一个设置,如果已经存在,则添加此项。

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