我在 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
?
在 github 上报告了关于 path translation in VSC 的类似问题.
或者,如果我只是手动从 bash 运行 python 文件以避免与 VSC 和 WSL 的所有不兼容问题会更好吗?
最佳答案
我能够从 Microsoft 的 vscode
上提交的类似问题中找到解决方法。和 WSL
关于 php 的 Github 存储库。
要在 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 - 如何让 Visual Studio Code 与安装在 WSL 上的 python 一起工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47215938/