Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Running python script in Visual Studio Code; how to get `input ()` to work?


I'm trying to grab a simple input using input(), but when I run the script within Visual Code the program hangs whenever that line of code is hit.

  • How can I run code within Visual Studio Code and use input()?

task

{
    "version": "0.1.0",

    "command": "python",

    "isShellCommand": true,

    "showOutput": "always",

    "args": ["${file}"],
}
like image 974
Andrea Tulimiero Avatar asked Oct 05 '15 08:10

Andrea Tulimiero


3 Answers

You can right click within the text file that you wish to run and then select "Run Python file in Terminal".

like image 117
admin Avatar answered Nov 19 '22 01:11

admin


Introduction

You will need to run your script from the command-line (terminal), instead of directly in Visual Studio Code, if you would like to interact with the program as a normal user would.

> python name_of_program.py

Elaboration

The output displayed inside Visual Studio Code is not meant to be used for interacting with the underlying script, nor does it have the capability to read any input directly from your keyboard (it simply shows the output of whatever you have decided to run).


Workaround

What you could do is to edit your task-file to automatically spawn a terminal of your choosing instead of running the python-interpreter directly.

Depending on what operating system you are on, and the terminals available, the edits required to do this might look a little different, but they should all follow the same pattern.

{
           "version": "0.1.0",
           "command": "urxvt",
    "isShellCommand": false,
        "showOutput": "always",
              "args": [ "-e", "python ${file}" ]  
}

N O T E
In the above, urxvt is the name of my choice for terminal, -e is the flag required to pass a command that is to be executed upon startup, and python ${file} is the command to execute.

My recommendation is to get the command necessary to fire up a new terminal, and directly execute a python script, working elsewhere before editing your task-file.

like image 6
Filip Roséen - refp Avatar answered Nov 19 '22 01:11

Filip Roséen - refp


I had similar problem and I guess you ran the program with

ctrl + shift + B for build.

instead of build, you can simply open up terminal inside of vs code by

ctrl + shift + `

once terminal is opened, type in the name of file you'd like to run.

like image 1
Minjae Park Avatar answered Nov 19 '22 03:11

Minjae Park