'"No such file or directory" when using Windows Linux Subsystem bash with VS Code
I am using VS Code on Windows 10 with the Windows Linux Subsystem & Ubuntu 18.04.
What I am attempting to do is use VS Code as a python development environment with bash as its terminal and the python3 interpreter installed on the Ubuntu system as its default python executable.
In my User configuration I have:
"terminal.integrated.shell.windows": "C:\\Windows\\System32\\bash.exe"
set, and under Ubuntu python3 is installed and python is an alias to it.
When I attempt to execute a python file I get the following error:
/usr/bin/python3: can't open file 'c:/Users/R ... /test.py': [Errno 2] No such file or directory
My sense is I need to get VS Code passing the path relative to the Linux Subsystem rather than to Windows C:\ to the interpreter. How can I do this?
Solution 1:[1]
While there does not appear to be official support in Visual Studio Code for Windows, the plugin "Code Runner" with the runInTerminal setting fixes this problem.
It adds a "Run Code" (Alt-Ctrl-N) to the right-click window of an open editor.
If you set the User setting:
"code-runner.runInTerminal": true
And then run the code, it passes the correct filename to the default executable for your terminal environment.
Solution 2:[2]
Linux is case-sensitive, Windows is not. You have "c:" and "C:" in your script. Maybe check for any other discrepancies you might have?
Solution 3:[3]
WSL is not officially supported by the Python extension yet. See this issue to track the status for adding support.
Solution 4:[4]
Try to install the extension Remote Development extension pack, maybe can fix your problem. Because it will simulate like the vscode is running in the WSl.
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|---|
| Solution 1 | redcartel |
| Solution 2 | ColemanTO |
| Solution 3 | Brett Cannon |
| Solution 4 | foxiris |
