Cómo ejecutar código Python desde el código de Visual Studio


Visual Studio Code fue lanzado recientemente y me gustó el aspecto y las características que ofrecía, así que pensé en darle una oportunidad.

He descargado la aplicación desde la página de descargas lancé, metido un poco con algunas de las características ... ¡y luego me di cuenta de que no tenía idea de cómo ejecutar realmente ninguno de mis códigos Python!

Me gusta mucho la apariencia / usabilidad / características de Visual Studio Code, pero parece que no puedo averiguar cómo ejecutar mi Código Python, un verdadero asesino porque eso es en lo que programo principalmente.

¿Alguien sabe si hay una forma de ejecutar código Python en el Código de Visual Studio?

Author: RPi Awesomeness, 2015-05-01

15 answers

Puede agregar una tarea personalizada para hacer esto. Aquí hay una tarea personalizada básica para Python.

{
    "version": "0.1.0",
    "command": "c:\\Python34\\python",
    "args": ["app.py"],
    "problemMatcher": {
        "fileLocation": ["relative", "${workspaceRoot}"],
        "pattern": {
            "regexp": "^(.*)+s$",
            "message": 1
        }
    }
}

Agrega esto a tasks.json y presiona CTRL + SHIFT + B para ejecutarlo.

 62
Author: user75525,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-05-01 14:45:42

Hay una forma mucho más fácil de ejecutar Python, no se necesita ninguna configuración:

  1. Instale la extensión de Corredor de código
  2. Abra el archivo de código Python en el Editor de texto, luego use el atajo Ctrl+Alt+N, o presione F1 y luego seleccione/type Run Code, el código se ejecutará y la salida se mostrará en la ventana de salida.

ejecutar python

Si desea agregar la ruta de Python, puede Ir a File->Preference->Settings, y agregue la ruta de Python como a continuación:

"code-runner.executorMap": 
{ 
  "python": "\"C:\\Program Files\\Python35\\python.exe\"" 
}
 118
Author: Jun Han,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-10-16 02:34:57

Aquí le mostramos cómo configurar Task Runner en Visual Studio Code para ejecutar un archivo py.

En su consola presione Ctrl+Shift+P (Windows) o Cmd+Shift+P (Apple) y esto abre un cuadro de búsqueda donde busca " Configure Task Runner" introduzca la descripción de la imagen aquí

EDITAR: Si esta es la primera vez que abre la "Tarea: Configurar el corredor de tareas", debe seleccionar "otro" en la parte inferior de la siguiente selección lista.

Esto mostrará las propiedades que luego puede cambiar para que se adapten a sus preferencias. En este caso desea cambiar las siguientes propiedades;

  1. Cambie la propiedad Command de "tsc" (TypeScript) a "Python"
  2. Cambiar showOutput de "silent" a "Always"
  3. Cambie args (Argumentos) de ["Helloworld.ts"] a ["${file}"] (nombre de archivo)
  4. Eliminar la última propiedad problemMatcher
  5. Guarde los cambios realizados

introduzca la descripción de la imagen aquí

Ahora puedes abra su py archivo y ejecutarlo bien con el acceso directo Ctrl+Cambio+B (Windows) o Cmd+Cambio+B (Apple)

Disfrute!

 90
Author: python_starter,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-05-20 16:17:12

Todas estas respuestas son obsoletas ahora.

Actualmente tienes que:

  1. instalar extensión del lenguaje Python (y python, obviamente)
  2. abrir carpeta (importante!), abrir cualquier archivo python dentro de esa carpeta
  3. cambiar a depurar "tab" (?) y haga clic en la caja de cambios (con pista 'Configurar de Fix 'lanzamiento.json")
  4. guardar el lanzamiento abierto.archivo json (se coloca en .subdir vscode en la carpeta abierta en el paso #2)
  5. finalmente, haga clic en triángulo verde o pulse F5

No hay extensiones adicionales o lanzamiento manual.ahora es necesario editar json.

 36
Author: vlad2135,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-07-12 11:37:09

Para extender la respuesta de @vlad2135 (lea la primera); así es como configura la depuración de python en VSCode con la gran extensión python de Don Jayamanne (Que es un IDE bastante completo para python en estos días, y podría decirse que una de las mejores extensiones de lenguaje de VS code IMO).

Básicamente cuando haces clic en el icono de engranaje, crea un lanzamiento.json en su directorio .vscode en su espacio de trabajo. También puede hacer esto usted mismo, pero probablemente sea más simple dejar que VSCode lo haga el trabajo pesado. Aquí hay un archivo de ejemplo:

lanzar.json

Notarás algo genial después de generarlo. Creó automáticamente un montón de configuraciones(la mayoría de las mías están cortadas, solo desplácese para verlas todas) con diferentes configuraciones y características adicionales para diferentes bibliotecas o entornos (como django). El que probablemente terminarás usando más es python; que es un depurador de Python simple (en mi caso C), y más fácil de trabajar con ajustes. Voy a hacer un breve recorrido por los atributos json para este, ya que los otros usan la configuración más o menos igual con solo diferentes rutas de intérprete y una o dos características diferentes allí.

  • nombre: el nombre de La configuración. Un ejemplo útil de por qué lo cambiaría es si tiene dos configuraciones de Python que usan el mismo tipo de configuración, pero argumentos diferentes. Es lo que aparece en la caja que ves en la parte superior izquierda (mi caja dice "python" ya que estoy usando el configuración predeterminada de Python).
  • type: Tipo de intérprete. Generalmente no quieres cambiar esto.
  • solicitud: Cómo desea ejecutar su código, y generalmente no desea cambiar este tampoco. El valor predeterminado es "launch", pero cambiarlo a "attach" permite que el depurador se adjunte a un proceso python ya en ejecución. En lugar de cambiarlo, agregue una configuración de tipo attach y use eso.
  • stopOnEntry: a los depuradores de Python les gusta tener un punto de interrupción invisible cuando se inicia el programa para que pueda ver el archivo de punto de entrada y donde está su primera línea de código activo. Vuelve locos a algunos programadores de C # / Java como yo. false si no lo quieres, true de lo contrario.
  • pythonPath: La ruta a la instalación de python. El valor predeterminado obtiene el nivel de extensión predeterminado en la configuración de usuario/espacio de trabajo. Cámbielo aquí si desea tener diferentes pitones para diferentes procesos de depuración. Cámbielo en la configuración del espacio de trabajo si desea cambiarlo para todos los procesos de depuración establecer la configuración predeterminada en un proyecto. Cámbielo en la configuración de usuario para cambiar dónde encuentra python la extensión en todos los proyectos. (4/12/17 Lo siguiente fue corregido en la versión de extensión 0.6.1). Irónicamente, esto se genera automáticamente mal. Se genera automáticamente a "conf{config.python.pythonPath} " que está en desuso en las versiones más recientes de VSCode. Puede que aún funcione, pero deberías usar " {{config: python.pythonPath} " en lugar de tu primer python predeterminado en tu configuración de ruta o VS. (4/6/17 Editar: Esto debería arreglarse en la próxima versión. El equipo lo arregló hace unos días.)
  • programa: El archivo inicial que el depurador inicia cuando pulsa ejecutar. "${workspaceRoot}" es la carpeta raíz que abrió como su espacio de trabajo (Cuando pasa al icono de archivo, la carpeta base abierta.) Otro buen truco si desea que su programa se ejecute rápidamente, o tiene múltiples puntos de entrada a su programa es establecer esto en "${file}" que comenzará a depurar en el archivo que tiene abierto y en foco en el momento en que se pulsa debug .
  • cwd: La carpeta actual del directorio de trabajo del proyecto que está ejecutando. Por lo general, solo querrá dejar esto "${workspaceRoot}".
  • debugOptions: Algunos indicadores del depurador. Los de la imagen son banderas predeterminadas, puedes encontrar más banderas en las páginas del depurador de Python, estoy seguro.
  • args: Esto no es realmente una configuración predeterminada, pero es útil (y probablemente lo que el OP estaba preguntando). Estos son los argumentos de la línea de comandos que pasa a su programa. El depurador los pasa como si hubiera escrito: python file.py [args] en su terminal; pasando cada cadena json en la lista al programa en orden.

Puede ir aquí para obtener más información sobre las variables de archivo VSCode que puede usar para configurar sus depuradores y rutas.

Puede ir aquí para la documentación de la propia extensión sobre las opciones de lanzamiento, con atributos opcionales y obligatorios.

Puede hacer clic en el botón "Agregar configuración" en la parte inferior derecha si no ve la plantilla de configuración ya en el archivo. Le dará una lista para generar automáticamente una configuración para la mayoría de los procesos de depuración comunes que existen.

Ahora, según la respuesta de vlad, puede agregar cualquier punto de interrupción que necesite según los depuradores visuales normales, elegir qué configuración de ejecución desea en el menú desplegable superior izquierdo y puede tocar la flecha verde a la izquierda para el nombre de la configuración para inicia tu programa.

Consejo profesional: Diferentes personas de tu equipo usan diferentes IDE y probablemente no necesiten tus archivos de configuración. VSCode casi siempre pone sus archivos IDE en un solo lugar (por diseño para este propósito; asumo), inicie o no, así que asegúrese de agregar .vscode/ a su .gitignore si es la primera vez que genera un archivo VSCode (Este proceso creará la carpeta en su espacio de trabajo si aún no la tiene)!

 19
Author: RMSD,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-08-07 20:37:53

Hay un comando Run Python File in Terminal disponible en la extensión Python para VS Code.

Ejecutar el archivo Python en la Terminal

 13
Author: kenwarner,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-03-01 16:51:12

Como se indica en la Documentación de Código de Visualstudio, simplemente haga clic con el botón derecho en cualquier lugar del editor y seleccione Ejecutar archivo Python en Terminal.

 8
Author: AndreaB,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-12-07 18:11:59

Ya no necesita extensiones adicionales. Simplemente puede cambiar la salida del depurador al terminal integrado.

Ctrl+Shift+D , luego seleccione Terminal/Consola integrada en el menú desplegable en la parte superior.

 5
Author: NickD,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-06-17 01:51:39

Si está utilizando la última versión de vs code (versión 1.21.1). El formato task.json ha cambiado, ver aquí. Así que la respuesta de @Fenton y @python_starter puede que ya no sea válida.

Antes de iniciar la configuración

Antes de comenzar a configurar vs code para ejecutar su archivo python.

  • Asegúrese de que ha instalado Python y ha añadido su ejecutable a la RUTA de acceso de su sistema.
  • debe establecer la carpeta donde su el archivo fuente de python reside como su carpeta de trabajo (vaya a File -> Open Folder para establecer su carpeta de trabajo).

Pasos de configuración

Ahora puede configurar la tarea. Los siguientes pasos le ayudarán a ejecutar su archivo python correctamente:

  1. utilizar Ctrl+Cambio+P y de entrada task, verá una lista de opciones, seleccione Tasks: Configure Task.

introduzca la descripción de la imagen aquí

  1. Entonces se le pedirá create task.json from template, elija esta opción, y usted se le pedirá que elija de una lista de opciones. Elija Others.

introduzca la descripción de la imagen aquí

  1. Luego, en el archivo abierto task.json, use la siguiente configuración:

    {
    "version": "2.0.0",
    "tasks": [
        {
            "label": "run this script",
            "type": "shell",
            "command": "python",
            "args": [
                "${file}"
            ],
            "problemMatcher": []
        }
    ]
    }
    

    En la configuración anterior, puede darle un label significativo a esta tarea. Por ejemplo, run python.

  2. Vaya al menú Tasks y haga clic en Run Task. Se le pedirá que elija la tarea. Simplemente elija la tarea recién creada run this script. Usted verá el resultado en el TERMINAL pestaña.

introduzca la descripción de la imagen aquí introduzca la descripción de la imagen aquí

Para un tutorial más completo sobre la configuración de tareas, vaya a vs code official documentation.

 4
Author: jdhao,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-04-02 01:45:41

Una extensión simple y directa de Python ahorraría tiempo y esfuerzo. Linting, depuración, finalización de código son las características disponibles una vez que se realiza la instalación. Después de esto, para ejecutar el código debe configurarse la ruta de instalación de Python adecuada para ejecutar el código. La configuración general está disponible en el ámbito del usuario y El espacio de trabajo se puede configurar para el lenguaje Python– "python.pythonPath": "c:/python27/python.exe" Con los pasos anteriores, al menos se pueden ejecutar los programas básicos de Python.

 2
Author: w1n5rx,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-04-03 09:23:39

Así que hay 4 maneras de ejecutar Python en VSCode hasta ahora:

  1. A través de un terminal integrado (vamos es integrado! Así que técnicamente se ejecuta desde dentro del VSCode ;)
    • No es necesario instalar ninguna extensión.
    • No es necesario crear y configurar nada (suponiendo que ya tiene python en su $PATH).
    • ⌃Space (abrir terminal) y python my_file.py (ejecutar archivo).
  2. A través de la tarea personalizada (respuesta aceptada de @ Fenton):
    • No es necesario instalar ninguna extensión.
    • La forma predeterminada de hacer las cosas de VSCode.
    • Tenga cuidado de no copiar y pegar la respuesta porque su problemMatcher.pattern.regexp está roto y cuelga el editor. Es mejor eliminar problemMatcher o cambiar el regexp a al menos ^\\s+(.*)$.
  3. A través de Code Runner extensión (respuesta de@JanHan):

    • Necesita configurar code-runner.executorMap en La configuración del usuario (añadir ruta a su python).
    • Extensión muy útil especialmente si no solo ejecuta Python en VSCode.
  4. A través de la extensión oficial de Microsoft Python (respuesta de @ vlad2135):
    • Necesita crear launch.js (un par de clics en la pestaña de depuración de VSCode).
    • La extensión es imprescindible para aquellos que quieran usar VSCode como IDE primario para Python.
 2
Author: Nikolay Kulachenko,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-03-21 21:03:00

Súper simple:
Presione la tecla F5 y el código se ejecutará. Si se establece un punto de interrupción, pulsando F5 se detendrá en el punto de interrupción y ejecutará el código en modo Debug.

 1
Author: user2371563,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-06-22 22:15:22

Aquí están las extensiones actuales (septiembre de 2018) para ejecutar python:

Extensión oficial de python: Esta es una instalación obligatoria.

Code Runner: Increíblemente útil para todo tipo de lenguajes, no solo python. Recomendaría altamente la instalación.

AREPL: scratchpad python en tiempo real que muestra las variables en una ventana lateral. Soy el creador de esto, así que obviamente creo que es genial, pero no puedo dar una opinión imparcial ¯\_(ツ)_/¯

Wolf: scratchpad python en tiempo real que muestra los resultados inline

Jupyter: Jupyter, pero en VSCode. Similar al hidrógeno de atom. Críticas mixtas, pero los fans de jupyter pueden querer darle una oportunidad.

Y, por supuesto, si utiliza el terminal integrado, puede ejecutar python allí y no tener que instalar ninguna extensión.

 1
Author: Almenon,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-09-09 00:27:53

Si está ejecutando un código y desea tomar entrada a través de la ejecución de su programa en el terminal. lo mejor que puede hacer es ejecutarlo en terminal directamente con solo hacer clic derecho y elegir "Ejecutar archivo python en terminal". introduzca la descripción de la imagen aquí

 0
Author: Fustock leonvaesr,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-07-29 09:47:02

Para iniciar el archivo actual con venv respectivo agregué esto a launch.json

 {
        "name": "Python: Current File",
        "type": "python",
        "request": "launch",
        "program": "${file}",
        "pythonPath": "${workspaceFolder}/FOO/DIR/venv/bin/python3"
    },

En la carpeta bin reside el script source .../venv/bin/activate que se obtiene regularmente cuando se ejecuta desde el terminal regular

 0
Author: ItsmeJulian,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-08-11 10:23:10