I'm trying to run a python file in VSCode using python3.
I know I can fix by simply setting to run using integrated terminal like it says in the microsoft vscode tutorial on python. However, I would like the program to print in the output tab and not take up the terminal window.
The standard code runner config file launch.json
, looks like this;
"version": "0.2.0",
"configurations": [
{
"name": "Python: Current File",
"type": "python",
"request": "launch",
"program": "${file}",
"console": "integratedTerminal"
}
]
I've tried to set my python path in VSCode in settings.json
...
"python.pythonPath": "python3",
"code-runner.executorMap": {
"python3": "/usr/bin/python3"
}
I've also set an alias for python -> python3 (as my ubuntu 20.04 doesn't come with python2 anymore)
alias python="python3"
However, I keep getting the above error. Any Ideas?
bash
geek, but aliases only last in the session (I think). which python
what do you get? /usr/bin/python3
python: aliased to python3
An alternative solution
"python.pythonPath": "python3",
"code-runner.executorMap": {
"python": "$pythonPath -u $fullFileName"
},
Nearly had it. This code
"python.pythonPath": "python3",
"code-runner.executorMap": {
"python3": "/usr/bin/python3"
}
should be
"python.pythonPath": "python3",
"code-runner.executorMap": {
"python": "/usr/bin/python3"
}
(The difference is at the beginning of line 3)
In the terminal of vscode, type sudo apt install python-is-python3
. After the installation is done just run the code again and enjoy.
Those coming later, if you have Code Runner installed, then you have to go into the settings by going into code-runner: Executor Map "Edit in settings.json" and locate the python section
{
"workbench.colorTheme": "Default Dark+",
"code-runner.executorMap": {
"javascript": "node",
"java": "cd $dir && javac $fileName && java $fileNameWithoutExt",
"c": "cd $dir && gcc $fileName -o $fileNameWithoutExt && $dir$fileNameWithoutExt",
"cpp": "cd $dir && g++ $fileName -o $fileNameWithoutExt && $dir$fileNameWithoutExt",
"objective-c": "cd $dir && gcc -framework Cocoa $fileName -o $fileNameWithoutExt && $dir$fileNameWithoutExt",
"php": "php",
"python": "python -u",
"perl": "perl",
"perl6": "perl6",
"ruby": "ruby",
"go": "go run",
"lua": "lua",
"groovy": "groovy",
"powershell": "powershell -ExecutionPolicy ByPass -File",
"bat": "cmd /c",
"shellscript": "bash",
"fsharp": "fsi",
"csharp": "scriptcs",
"vbscript": "cscript //Nologo",
"typescript": "ts-node",
"coffeescript": "coffee",
"scala": "scala",
"swift": "swift",
"julia": "julia",
"crystal": "crystal",
"ocaml": "ocaml",
"r": "Rscript",
"applescript": "osascript",
"clojure": "lein exec",
"haxe": "haxe --cwd $dirWithoutTrailingSlash --run $fileNameWithoutExt",
"rust": "cd $dir && rustc $fileName && $dir$fileNameWithoutExt",
"racket": "racket",
"scheme": "csi -script",
"ahk": "autohotkey",
"autoit": "autoit3",
"dart": "dart",
"pascal": "cd $dir && fpc $fileName && $dir$fileNameWithoutExt",
"d": "cd $dir && dmd $fileName && $dir$fileNameWithoutExt",
"haskell": "runhaskell",
"nim": "nim compile --verbosity:0 --hints:off --run",
"lisp": "sbcl --script",
"kit": "kitc --run",
"v": "v run",
"sass": "sass --style expanded",
"scss": "scss --style expanded",
"less": "cd $dir && lessc $fileName $fileNameWithoutExt.css",
"FortranFreeForm": "cd $dir && gfortran $fileName -o $fileNameWithoutExt && $dir$fileNameWithoutExt",
"fortran-modern": "cd $dir && gfortran $fileName -o $fileNameWithoutExt && $dir$fileNameWithoutExt",
"fortran_fixed-form": "cd $dir && gfortran $fileName -o $fileNameWithoutExt && $dir$fileNameWithoutExt",
"fortran": "cd $dir && gfortran $fileName -o $fileNameWithoutExt && $dir$fileNameWithoutExt"
}
}
change this
"python": "python -u",
or something similar so that it looks like this
"python": "python3",
this is because this is new command to run python code in Python 3
Solution in 2023
Step1 : Goto settings of Code Runner extension
Step2 : Find the section
Code-runner: Executor Map
And click on
Edit in settings.json
Step3 : Now change the setting for python
Before
"code-runner.executorMap": {
...
"python": "python -u"
...
}
Change this to
"code-runner.executorMap": {
...
"python": "python3 -u"
...
}
sudo apt install python-is-python3
type the above command line and it will work.