python-3.x - 如何让 Visual Studio Code 与安装在 WSL 上的 python 一起工作

标签 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 ?

在 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/

相关文章:

Python 3 相当于 Python 2 str.decode ('hex' )

python - 如何将项目从一个 QTreeWidget 移动到另一个 QTreeWidget 并跟踪信息?

Python 3 map 返回 NoneType 对象列表而不是我修改的类型?

visual-studio-code - 如何在 VS Code 中设置新文件的默认文件类型?

typescript - 为基于 typescript 的库在 package.json 类型字段中放置什么

android - 在 flutter 中构建应用程序 2 次后构建失败

静态函数变量的 Pythonic 方式(小范围,单一初始化)?

python - 如何使用 ast.literal_eval 评估 f 个字符串

python - 如何在 python 脚本和外部命令行中使用 pdfminer.six 的 pdf2txt.py?

python - 点子安装位置