【问题标题】:Use AREPL within VScode using a WSL interpreter使用 WSL 解释器在 VScode 中使用 AREPL
【发布时间】:2019-11-30 21:10:12
【问题描述】:

我有一个运行 python 和 venv 的 WSL 环境。 除此之外,我还使用 AREPL 在 Windows 中运行 VSCode

使用 VSCode 终端访问我的 python venv 包括 pip 模块没有问题。然而,AREPL 似乎无法识别我的 pip 插件。我的猜测是 AREPL 正在使用 Windows Python 版本来立即运行代码。但是 WSL python venv 不会生成 python.exe 我可以将我的 AREPL 解释器指向。

所以我的问题是:

我能否在 Windows VSCode 上运行 AREPL 来验证需要未安装在 Windows 中但安装在 venv 中的 WSL 上的 PIP 模块的代码。

我尝试将 AREPL Python 路径更改为 Python venv、WSL 或 Windows Python:

"D:\Scripting\Python\venvs\automation\bin\python"
"C:\Windows\System32\wsl.exe" (nothing happens as I type)
"C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.7_3.7.1264.0_x64__qbz5n2kfra8p0\python.exe" (generates error)

使用 venv 位置时出错:

Error in the AREPL extension!
Error running python with command:           D:\Scripting\Python\venvs\automation\bin\python -u C:\Users\user\.vscode\extensions\almenon.arepl-1.0.16\node_modules\arepl-backend\python\python_evaluator.py
Error: spawn D:\Scripting\Python\venvs\automation\bin\python ENOENT
    at Process.ChildProcess._handle.onexit (internal/child_process.js:232:19)
    at onErrorNT (internal/child_process.js:407:16)
    at process._tickCallback (internal/process/next_tick.js:63:19)

Are you sure you have installed python 3 and it is in your PATH?
            You can download python here: https://www.python.org/downloads/

使用 WSL 时出错:

Nothing happens

使用 windows python 时出错:

Traceback (most recent call last):
  line 1, in <module>
ModuleNotFoundError: No module named 'requests'

【问题讨论】:

    标签: visual-studio-code python-venv


    【解决方案1】:

    AREPL 的制造商在这里!抱歉,我直到最近才看到这个,希望它仍然会有所帮助。要在 windows vscode 中使用 WSL python,您可以将 pythonpath 设置为 JUST wsl,将 pythonoptions 设置为 ["python3", "-u"]。打开后会得到......

    一个错误。当当。

    问题是我使用的python-shell 库使用path.join,它使用Windows 路径分隔符连接到arepl 执行器文件的路径,这在WSL 中不起作用。

    我建议不要尝试通过 windows vscode 运行 WSL python,而是安装 remote-wsl,打开 WSL vscode,在那里安装 python 和 arepl 扩展,然后使用它。我对其进行了测试并验证了它的工作原理。

    【讨论】:

    • 感谢您抽出宝贵时间回复。似乎很有魅力。
    • 这不适用于 WSL 版本 2。有什么建议?仍然遇到同样的错误
    • @Florent 澄清即使在使用 remote-wsl、在 WSL 中打开 vscode 并在那里运行 arepl 时也会出现同样的错误?
    • @Almenon 我刚刚能够修复它。问题是arepl扩展在我的Windows操作系统上搜索了python,我安装了python但只在WSL2上而不是在Windows上。我只需要将 arepl 扩展设置中的 python 路径更改为 WSL2 上的路径,它就可以工作了。我使用远程wsl。感谢您的扩展,我喜欢它!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-12-17
    • 2021-01-13
    • 1970-01-01
    • 2021-12-12
    • 2020-10-12
    相关资源
    最近更新 更多