Questions & Answers

How to run python3 code in VSCode? /bin/sh: 1: python: not found

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.

enter image description here

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?

2023-01-07 20:30:20
I'm no bash geek, but aliases only last in the session (I think).
2023-01-07 20:30:20
If you open a terminl and type which python what do you get?
2023-01-07 20:30:20
which python3 returns -> /usr/bin/python3
2023-01-07 20:30:20
which python returns -> python: aliased to python3
Answers(6) :

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


"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.

2023-01-07 20:30:20
This solution was already provided by someone. Duplicate answers are not helpful.